admin 管理员组文章数量: 887032
2024年1月26日发(作者:10010111二进制转十进制)
C语言程序设计课后练习辅导资料
题型
单选题
题干
以下选项中合法的实型常数是( )。
选项
A. 5E2.0
B. E-3
C. .2E1
D. 1.3E
A.
scanf(“%2d%2d%2d”,&i,&j,&k);
B.
scanf(“%d %d %d”,&i,&j,&k);
C.
scanf(“%d,%d,%d”,&i,&j,&k);
D.
scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
A. 6.500000
B.6
C. 5.500000
D. 6.000000
A. n=(i=2,++i);
B. j++;
C. ++(i+1);
D. x=j>0;
A. 8,6
B. 8,3
C. 6,4
D. 7,4
答案
C
单选题
已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。
C
单选题
设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。
D
单选题
以下非法的赋值语句是( )。
C
单选题
若有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k);
printf(“%d,%dn”,m,i);}
C
单选题
执行后的输出结果是( )。
以下选项中,与k=n++完全等价的表达式是( )。
单选题
已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( )。
单选题
下列关于C语言用户标识符的叙述中正确的是( )。
单选题
已知c是字符型变量,以下不正确的赋值语句是
( )。
单选题
C语言中对于嵌套if语句规定else总是与( )配对?
单选题
下面的for循环最多可执行( )次。
for(x=0;y=0;(y!=99)&&(x<4);x++);
A. k=n,n=n+1
B. n=n+1,k=n
C. k=++n
D. k+=n+1
A. 6
B. 0
C. 2
D. 1
A.用户标识符中可以出现在下划线和中划线(减号)。
B.用户标识符中不可以出现中划线,但可以出现下划线。
C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头。
D. 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。
A. c=”a”
B. c=’a’
C. c=’141’
D. c=’x61’+3
A.第一个if
B.其之前最近的if
C.缩进位值相同的if
D.其之前最近的不带else的if语句
A.4次
B.5次
C.99次
A
D
B
A
D
A
单选题
C语言中各种基本数据类型的存储空间长度排列为( )。
单选题
下列说法中正确的是( )。
单选题
以下不符合C语言语法的赋值表达式是( )。
单选题
下列判断char类型变量C1是为数字的最简单且正确的表达式( )。
单选题
字符串”’abcd123xABt”的长度为( )。
D.0次
A.
char≤long≤int≤float≤double
B.
double≤float≤long≤int≤char
C.
char≤int≤long≤float≤double
D.
float≤int≤long≤char≤double
A. 在switch语句中一定要使用break语句
B. 在switch语句中不一定要使用break语句
C. break语句是switch语句的一部分
D. break只能用于switch语句中
A. d=9+e,e++,d+9
B. k=i= =j
C. n1+=n2+3
D. a=b+c=a+7
A. '0'<=C1<='9'
B. (C1>='0')&&(C1<='9')
C. (C1>=0)&&(C1<=9)
D. ('0'<=C1)&&('9'<=C1)
A. 8
B. 17
C
B
D
B
D
单选题
执行以下程序段后,变量a,b,c的值为( )。
int x=11,y=10,a,b,c;
a=(--x==y++)?--x:++y;
b=x++; c=y;
以下程序的输出结果是用( )表示。
main( )
{ int k=17;
printf("%d,%o,%x n",k,k,k);
}
若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是( )。
有如下程序
void f(int x,int y)
{ int t;
if(x } main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%dn",a,b,c); } 单选题 C. -9 D. 10 A. a=10,b=10,c=9 B. a=9,b=9,c=12 C. a=9,b=9,c=11 D. a=1,b=9,c=11 A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 C D 单选题 B 单选题 D 执行后输出结果是( )。 单选题 有以下程序 main() { char s[]="n123"; printf("%d,%dn",strlen(s),sizeof(s)); } A.赋初值的字符串有错 B.6,7 C.5,6 C 执行后输出结果是( )。 单选题 以下程序的输出结果是( )。 main() { char ch[3][5]={“AAAA”,”BBB”,”CC”}; printf(“”%s”n”,ch[1]); D.6,6 A.“AAAA” B.“BBB” C.“BBBCC” D.“CC” A.局部变量说明为B } 单选题 以下叙述中正确的是( )。 单选题 在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )。 static存储数,其生存期将得到延长 B.全局变量说明为static存储类,其作用域将被扩大 C.任何存储类的变量在未赋初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同 A.称为函数的直接递归调用 B.称为函数的间接递归调用 C.称为函数的循环调用 D.C语言中不允许这样的A B 单选题 C语言中数组下标的下限是( )。 单选题 若有定义int a[2][2]={0};,则以下描述正确的是( )。 单选题 下面函数f的定义: f(int a) {printf("%d",a);} 函数f的返回类型( )。 单选题 以下正确的说法是( )。 单选题 C语言标准库函数递归调用 A.1 B.0 C.视说明语句而定 D.无固定下限 A.只有a[0][0]的值为0 B.数组每个元素的值都为0 C.只有a[0][1]的值为0 D.以上都不正确 A.同参数a的类型相同 B.是void类型 C.没有返回值 D.无法确定 A.定义函数时,形参的类型说明可以放在函数体内 后边的值不能为表达式 C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准 A.将串STR1复制到串B B A C C “strcat(strcpy(STR1,STR2),STR3)”的功能是( )。 单选题 以下程序的输出结果是( )。 #define p( v, format) printf(“v=%format”,v) #define s(x) 3.5*x*x main(){ int a=1,b=2;float s1; s1=s(a+b);p(s1,f);} 单选题 STR2中后再连接至串STR3之后 B.将串STR1连接至STR2之后再复制至串STR3之后 C.将串STR2复制到串STR1串后再将串STR3连接到串STR1 之后 D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串 A.s1=31.5 B.v=31.500000ormat C.v=7.500000ormat D.s1=7.5 A.p=q; B.*p=*q; C.n=*q; D. p=n; A.不确定的值 B.形参C 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( )。 D 单选题 已定义以下函数 fun (int *p) { return *p: }该函数的返回值是( )。 C p中存放的值 C.形参p所指存储单元中的值 D.形参p的地址值 单选题 有以下程序 main() { char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%sn",*(p+1),s[0]); } A.n,two B.t,one C.w,one D.o,two C 执行后输出结果是( )。 单选题 若有定义:int *p[3];, 则以下叙述中正确的是( )。 A.定义了一个基类型为B 单选题 已定义以下函数 fun(char *p2, char *p1) { while((*p2=*p1)!=‘0’){p1++;p2++; } }函数的功能是( )。 int的指针变量p,该变量具有三个指针 B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C.定义了一个名为*p的整型数组,该数组含有三个int类型元素 D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 A.将p1所指字符串复制到p2所指内存空间 B.将p1 所指字符串的地址赋给指针 p2 A C.对单选题 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是( )。 单选题 运行下列程序后的输出结果是( )。 main() { char str[][10]={"China","Beijing"},*p=*str; printf("%sn",p+10);} 单选题 设有说明: union data { int i;float f; struct { int x;char y; }s; double d; }a; 在 p1和p2两个指针所指字符串进行比较 D.检查p1和p2两个指针所指字符串中是否有‘0’ A.5 B.6 C.8 D.9 g A.8 B.17 C.9 D.15 D B A 16位微机环境下,int类型的整数占用两个字节,则变量a在内存中所占字节数为( )。 单选题 下面对结构数据类型的叙述中,( )是错的。 A.结构变量可以在说明结构类型后定义,也可在说明结构时定义 B.结构可由若干个成员组成,各成员的数据类型可以不同 C.定义一个结构类型后,编译程序C 单选题 在C语言中,文件若按数据的组织形式分类可分为( )。 要为结构的各成员分配存储空间 D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用 A.字符文件和数字文件 B 文件和二进制文件 C.顺序文件和随机文件 D.以上均不对 A.*p+6 D 单选题 若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是B.*(p+6) C.*p+=5 D.p+5 A.子程序 B.过程 C.函数 D.主程序与子程序 A. case B. -ac C. _53 D. ab-c ue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 A. x1=26.8%3 B. 1+2=x2 C ( )。 单选题 C语言程序由( )组成。 单选题 下列有四个用户定义的C语言标识符,只有一个是正确的,正确的是( )。 C 单选题 以下正确的描述是( )。 B 单选题 若以下选项中的变量已正确定义,则正确的赋值语句是( )。 C 单选题 若变量都已正确说明,则以下程序段( )。 a=2;b=3; printf(a>b?”***a=%d”:”###b=%d”,a,b); 若变量都已正确说明,则以下程序段输出为( )。 a=10;b=50;c=30; if(a>b)a=b; b=c;c=a; printf(“a=%d b=%d c=%dn”,a,b,c); 以下程序输出的结果是( )。 #include <stdio.h> main() {int i=0,j=0,a=6; if((++i>0)||(++j>0))a++; printf(“i=%d,j=%d,a=%dn”,i,j,a); } 以下叙述中正确的是( )。 单选题 C. x3=0x12 D. x4=1+2=3 A.没有正确的输出格式控制 B.输出为:***a=2 C.输出为:###b=2 D.输出为:***a=2###b=2 A. a=10 b=50 c=10 B. a=10 b=30 c=10 C. a=50 b=30 c=10 D. a=50 b=30 c=50 A. i=0,j=0,a=6 B. i=1,j=1,a=7 C. i=1,j=0,a=7 D. i=0,j=1,a=7 C B 单选题 C 单选题 单选题 a的初值为10,执行表达式语句a+=a-=a*a;后,a的值为( )。 单选题 在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为 ( )。 A.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 B.在C程序中,main()函数必须位于程序的最前面。 C. C语言本身没有输入输出语句。 D. C程序的基本单位是语句。 A. -80 B. -180 C. -90 D. -100 A.54 B.3 C B C 单选题 单选题 单选题 设x和y均为int型变量,则执行下面的循环后,y值为( )。 for (y=1,x=1;y<=50;y++) { if ( x>=10) break; if ( x%2==1) { x+=4; continue;}} 设有如下程序段,其结果是( )。 int a=100,b=100; for(;a!=b;++a,b++ ) printf(“---n”); 整型变量a的取值范围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为( )。 单选题 若有代数表达式(5ae)/(bc),则不正确的C语言表达式( )。 单选题 以下不符合C语言语法的赋值表达式是( )。 单选题 若int类型占两个字节,则以下语句输出为( )。 int k=-1; printf("%d,u%n",k,k); 假设a为float类型数,i为整型变量,则下述语句能将a中的数值保留小数点1位,即四舍五入的是( )。 单选题 C.18 D.21 A.2 B. 4 C. 6 D. 8 A.输出--- B. 输出100行--- C. 死循环 D. 该for循环一次也不执行 A.–1<=a<=10 | 20<a<40 B. (–1<=a && a<=10)| (20<a && a<40) C. (–1<=a && a<=10)||(20<a && a<40) D. –1<=a<=10 || 20<a<40 A. a/b/c*e*5 B. 5*a*e/b/c C. 5*a*e/b*c D. a*e/c/b*5 A. d=9+e,e++,d+9 B. k=i= =j C. n1+=n2+3 D. a=b+c=a+7 A. -1,-1 B. -1,65536 C. -1,32768 D. -1,65535 A. a=(a*10+0.5)/100.0 B. i=a*10+0.5,a=i/10.0 C. a=int(a*10)/10.0 B D C C D D B 单选题 设x=3,y=-4,z=6,下面表达式的结果是( )。 !(x>y)+(y!=z)||(x+y)&&(y-z) 单选题 在C语言中,逻辑值“真”用( )表示? 单选题 已知ch是字符型变量,下面正确的赋值语句是( )。 D. a=(a/100+0.5)*100.0 A. 0 B. 1 C. -1 D. 6 A. true B. 正数 C. 非0整数 D. 非0的数 A. ch=‘123’; B. ch=‘xff’; C. ch=‘08’ D. ch=“” A.3 B.5 C.1 D.字符串中有非法字符,B D B 单选题 若有以下说明和语句,则输出结果是( )。 char sp[]="x69082n"; B printf("%d",strlen(sp)); 单选题 若有变量说明:char s,s1[20];执行语句:s="student";s1=s;正确的叙述是( )。 单选题 变量的有效范围与其定义位置有关,( ),其作用域在整个源程序文件中都有效。 输出值不定 A.二个语句都不正确 B.s所指向的字符串和s1的值都是"student" C.第一个语句正确,而第二个语句不正确 D.第二个语句正确,而第一个语句不正确 A.在第一个函数中定义的变量 A B B.在定义第一个函数之前单选题 若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 ( )。 单选题 有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%dn”,x,y,z); } 所定义的变量 C.在主函数中定义的变量 D.在函数中定义的静态变量 myadd(double a,B); myadd(double,double); myadd(double b,double A); myadd(double x,double y); A.1,2,3 B.3,1,2 C.1,3,2 D.2,3,1 A C 执行后输出结果是( )。 单选题 若有宏定义与变量说明如下: A.7 5 A #define X 5 #define Y X+1 #define Z Y*X/2 int a; a=Y; 则执行以下printf语句后输出的结果是( )。 单选题 B.12 6 C.12 5 D.7 6 Printf("%d %dn",Z,--a); 数组名作为参数传递给函数,此时作为实在参数的数组名被处理为( )。 A.该数组的长度 B.该数组的元素个数 C.该数组中各元素的值 D.该数组的首地址 D 单选题 执行完下面的程序段后,屏幕显示的内容为( )。 main() { int a=2,i; for(i=0;i<3;i++) printf("%d",f(a)); } f(int a) { int b=0; static int c=3; b++; c++; return(a+b+c); A.777 B.7 7 7 C.789 D.7 8 9 C } 单选题 以下描述中,正确的是( )。 A.调用函数时,实参可以A 是表达式 B.调用函数时,将为形参分配内存单元 C.调用函数时,实参与形参的原型必须一致 D.调用函数时,实参与形单选题 单选题 单选题 单选题 单选题 参可以用内存单元 在C语言中,引用数组元素时,其下标的数据类型A.整型常量 允许是( )。 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 有语句char str1[10],str2[10]={"books"};则能1={"Books"}; 将字符串books赋给数组str1的正确语句是(str1,str2); ( )。 1=str2; (str2,str1); 以下函数调用中有( )个实参。 A.4个 expd((a1,a2,a3),(a4,a5),a7,a8) B.3个 C.8个 D.5个 C语言的编译系统对宏命令是( )时候处理的。 A.在程序运行 B.在程序连接时 C.和源程序其它C语言同时进行编译时 D.对源程序其它成份正式编译之前进行处理的 设有定义:int a,*pA=&a;以下scanf语句中能正(“%d”,pA) ; 确为变量a读入数据的是( )。 (“%d”,A) ; (“%d”,&pA) ; (“%d”,*pA); C B A D A 单选题 若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是( )。 A.a,point,*&a B.&*a,&a,*point C.*&point,*point,&a D.&a,&*point,piont D 单选题 有以下程序 main( ) { char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%dn”,strlen(p[4])); } A.2 B.3 C.4 D.5 A 执行后输出结果是( )。 单选题 C语言结构体类型变量在程序执行期间( )。 A.所有成员一直驻留在内A 单选题 以下对C语言中共用体类型数据的叙述( )的叙述是正确的。 存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 A.可以对共有变量名直接赋值 B.一个共用体变量中可以同时存放其所有成员 C.一个共有体变量中不能同时存放其所有成员 D.共用体类型定义中不能出现结构体类型的成员 C 单选题 设有如下定义 struct ss { char name[10]; int age; char sex; }std[3],*p=std; ("%d",&(*p).ageB 下面各输入语句中错误的是( )。 单选题 以下叙述中不正确的是( )。 单选题 如果希望向文本文件末尾添加数据,则应以( )方式打开文件。 单选题 阅读下面程序,并给出结果( )。 main() { union EXAMPLE { struct{ int x; int y; }in; int a,b; ); ("%s",&); ("%c",&std[0].sex) ("%c",&(p->sex)); A.C语言中的文本文件以ASCⅡ码形式存储数据 B.C语言中对二进制文件的访问速度比文本文件快 C.C语言中,随机读写方式不适用于文本文件 D.C语言中,顺序读写方式不适用于二进制文件 A."r" B."w" C."a" D."ab" A.3 8 B.4 8 C.4 7 D.2 5 D C B }e; e.a=1;e.b=2; .x=e.a*e.b; .y=e.a+e.b; printf("%d%d",.x,.y); } 单选题 以下函数的功能是( )。 fun(char *a,char *b) { while((*a!='0')&&(*b!='0')&&(*a= =*b)) { a++;b++;} A.计算return(*a-*b);} 单选题 若有定义:int a[3][4];则对该数组的i行j列元素值的正确引用为( )。 单选题 对于基类型相同的指针变量,不能进行( )运算。 单选题 下列说法不正确的是( )。 a和b所指字符串的长度之差 B.将b所指字符串连接到a所指字符串中 C.将b所指字符串连接到a所指字符串后面 D.比较a和b所指字符串的大小 A.*(*(a+i)+j) B.(a+i)[j] C.*(a+i+j) D.*(a+i)+j A.+ B.- C.= D.== A.宏替换不占用运行时间 B.宏无类型 C.宏替换只是字符替换 D A A D D.宏名必须用大写字母表单选题 有两个字符数组a,b,则以下正确的输入语句是( )。 单选题 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。 单选题 设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为( )。union exp { int i; float j; double k; }x; 单选题 示 (a,b); ("%s%s",a,b); ("%s%s",&a,&b); ("a"),gets ("b"); 型 型 型 型 A.14个 B.7个 C.8个 D.随机而定 (文件指针,格B B C 下面正确调用形式是( )。 D 式字符串,输出表列); (格式字符串,文件指针,输出表列); (格式字符串,输出表列,文件指针); (文件指针,格 单选题 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )。 单选题 函数 AAA(s,t) char *s,*t; { while(*t++); t--; while(*t++=*s++); } 式字符串,输入表列); B.0 C.非零值 A.求串的长度 B.比较两个串的大小 C.将串s复制到串t中 D.将串s连接到串t中 C D 的功能是( )。 填空 以下函数的功能是删除字符串s中的所有数字字符。请填空。void dele(char s[]) { int n=0,i; for(i=0,s[i];i++) if ____ ) s[n++]=s[i]; s[n]= ____ ; s[i]<’0’ || s[i]>’9’;‘0’; } 填空 运行程序后输出的第一行内容是 ____ 、第二行内容是 ____ 、最后一行内容是 ____ 。fun (int n,int *s){ int f1,f2; if ( n= =1||n= =2) *s = 1; else { fun(n-1,&f1);fun(n-2,&f2); *s =2*f1+f2+1;printf(“ n%d,%d “,f1,f2);} } main( ) 1,1;4,1;x=10; { int x; fun (4,&x);printf(“nx=%d ”, x);} 单选题 函数调用可以……,以下错误的是( )。 A.出现在执行语句中 B.出现在一个表达式中 C.作为一个函数的实参 D.作为一个函数的形参 D 单选题 下述对C语言字符数组的描述中错误的是( )。 A.字符数组可以存放字符C 单选题 C语言中函数能否嵌套调用和递归调用?以下说法正确的是( )。 串 B.字符数组的字符串可以整体输入、输出 C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 A.二者均不可 B.前者可,后者不可 C.前者不可,后者可 D.二者均可 A.58 B.56 D 填空 单选题 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 ____ 。 有以下程序 main() { int p[7]={11,13,14,15,16,17,18},i=0,k=0; auto(动态存储); D while(i<7&&p[i]%2){k=k+p[i];i++;} printf("%dn",k); } C.45 D.24 执行后输出结果是( )。 单选题 以下叙述中正确的是( )。 A.全局变量的作用域一定B 单选题 程序如下: #define N 5 #define M1 N*3 #define M2 N*2 main() { int i; i=M1+M2; printf(“%dn”,i); } 比局部变量的作用域范围大 B.静态(static)类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量 D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值 A.10 B.20 C.25 D.30 C 程序编译后运行的输出结果是( )。 单选题 若已定义的函数有返回值,则以关于该函数调用的A.调用可以作为独立的语叙述中错误的是( )。 句存在 D B.调用可以作为一个函数单选题 以下不能正确定义二维数组的选项是( )。 单选题 有以下函数定义: void fun( int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。 单选题 有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2); printf(“%dn”,i); } 的实参 C.调用可以出现在表达式中 D.调用可以作为一个函数的形参 a[2][2]={{1},{2}}; a[][2]={1,2,3,4}; a[2][2]={{1},2,3}; a[2][]={{1,2},{3,4}}; (int y,double m); B.k=fun(10,12.5); (x,n); fun(n,x); A.28 B.22 C.16 D.4 D C A 执行后输出结果是( )。 单选题 单选题 单选题 以下程序段中,不能正确赋字符串(编译时系统会 提示错误)的是( )。 s[10]=“abcdefg”; t[]=“abcdefg”,*s=t; s[10];s=“abcdefg”; s[10];strcpy(s,“abcdefg”); 对于基类型相同的指针变量,不能进行( )运A.+ 算。 B.- C.= D.== 写出下列语句执行结果( )。 A.1,5,24 int a,b,c,d=4,m=6,n=8; B.4,5,23 int *p1=&d,*p2=&m,*p3; a=p1==&d; C.1,2,22 b=3*(-*p1)/(*p2)+7; D.5,5,14 c=*(p3=&n)=*p1*(*p2); printf("%d,%d,%d",a,b,c); 有以下程序 void fun(char *c,int d) { *c=*c+1;d=d+1; printf(“%c,%c,”,*c,d); A.B,a,B,a B.a,B,a,B C.A,b,A,b C A A 单选题 D } main() { char a=’A’,b=’a’; fun(&b,a); printf(“%c,%cn”,a,b); }程序运行后的输出结果是( )。 若有以下的说明,则对初值中字符'a'的引用方式为( )。 static struct st { char ch;double x;char a[];} D. b,B,A,b 单选题 B.c[0][0].ch C.c[1][1].ch D.a[0] B struct st c[2][2]={{'a',3.5,'bc'},{'c',4.5,'de'},{'m',8.6,'abc'}}; 单选题 有以下程序 #include main( ) { FILE *fp; int i,k=0,n=0; fp=fopen(“”,”w”); for(i=1;i<4;i++) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“”,”r”); fscanf(fp,”%d%d”,&k,&n); printf(“%d %dn”,k,n); fclose(fp); } A.1 2 B.123 0 C.1 23 D.0 0 B 执行后输出结果是( )。 单选题 以下枚举类型的定义中正确的是( )。 a={one, two, B three}; a {one=9, two=- 单选题 有以下程序 #include main(){ char *p=“abcdeOfghjik0”; printf(“%dn”,strlen(p)); } 程序运行后的输出结果是( )。 单选题 1,three}; a={“one” , “two”, “three”}; a {“one”, “two”, “three”}; A.12 B.15 C.6 D.5 A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B.在程序结束时,应当用D 以下叙述中错误的是( )。 D 单选题 若有如下说明,则( )的叙述是正确的。 struct st{int a;int b[2];}a; fclose函数关闭已打开的文件 C.在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D.不可以用FILE定义指向二进制文件的文件指针 A.结构体变量a与结构体成员a同名,定义是非法的 D B.程序只在执行到该定义单选题 对于用"r"方式打开文件下列说法正确的是( )。 时才为结构体st分配存储单元 C.程序运行时为结构体st分配6个字节存储单元 D.类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后) A.用"r"方式打开的文件只输入不能输出 B.用"r"方式打开的文件只能输出,不能输入 C.用"r"方式可以打开任何文件 D.以上均不对 A.*(y[l]+2) B.*(y+1)+2 [2] 2[1][2] B 单选题 如有以下定义“int y[4][4]={1,2,3,4,5,6,7,8,9,10},*pyl=y[l],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是( )。 B
版权声明:本文标题:C语言程序设计课后练习辅导资料 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1706203867h503967.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论