中国大学C语言学习辅导与习题课章节答案(慕课2023课后作业答案)

会计从业习题2024-05-19 05:34:5300685抢沙发
中国大学C语言学习辅导与习题课章节答案(慕课2023课后作业答案)摘要: 第一章 C语言程序设计初步第一章 测验1、下列变量名中合法的是 :A、3a6bB、B.C.TomC、_6a7bD、$ABC2、正确的定义变量的语句是:A、int ab_;B、int –ab ;C、ch ...

中国大学C语言学习辅导与习题课章节答案(慕课2023课后作业答案)

第一章 C语言程序设计初步

第一章 测验

1、中国章节作业下列变量名中合法的大学导习答案答案是 :
A、3a6b
B、语言学B.C.Tom
C、习辅_6a7b
D、题课$ABC

2、慕课正确的课后定义变量的语句是:
A、int ab_;
B、中国章节作业int –ab ;
C、大学导习答案答案char mm
D、语言学float a3.b;

3、习辅以下合法的题课 C 语言字符常量是:
A、”a”
B、慕课’\t’
C、课后’65’
D、中国章节作业a

4、下列都是合法转义字符的选项是:
A、’\’’ ‘\\’ ‘\n’
B、‘\’ ‘\017’ ‘\”’
C、‘\018’ ‘\f’ ‘xab’
D、’\\0’ ‘\101’ ‘x1f’

5、以下语句:temp=x; x=y; y=temp; 的功能是:
A、把x,y,temp从小到大排列;
B、把x,y,temp从大到小排列;
C、交换x,y的值;
D、无确定的结果。

6、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:
A、1
B、2
C、2.0
D、2.5

7、以下程序的输出结果是:#include<stdio.h> int main() { int a=12,b=12; printf("%d %d\n",--a,b++); return 0; }
A、10 11
B、11 13
C、11 10
D、11 12

8、以下不是合法的C语言常量的是:
A、0x5C
B、5e2.8
C、031
D、“123”

9、在Dev-c++环境中, float类型的数据需要占用( )字节内存空间
A、1
B、2
C、4
D、8

10、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A');则输出结果是:
A、2,M
B、3,E
C、2,E
D、输出项与对应的格式控制不一致,输出结果不确定

11、有以下程序#include #include<stdio.h> int main() { int a,c=246; a=c/10 % 10; printf("%d",a); return 0; }输出结果是:
A、2
B、4
C、6
D、9

12、设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为:
A、4
B、16
C、32
D、52

13、可在C语言中用作用户标识符的一组标识符是:
A、void define word
B、as _b3_123 ff
C、for _abc case
D、2c do sig

14、下列变量定义语句中错误的是:
A、int MBK_do
B、char dog1
C、float _sky
D、int 2ab

15、能正确表示“当x的取值在[1,10]或[100,110]范围内为真,否则为假”的表达式是:
A、(x>=1) && (x<=10) && (x>=100)&&(x<=110)
B、(1<=x<=10)||(100<=x<=110)
C、(x>=1)&&(x<=10)||(x>=100) && (x<=110)
D、(x>=1)||(x<=10) && (x>=100)||(x<=110)

16、C语言中,运算对象必须是整型的运算符是:
A、%
B、/
C、%和/
D、*

17、以下不合法的用户标识符是:
A、j2_KEY
B、dobule
C、4d
D、_8_

18、以下程序的输出结果是:#include<stdio.h> int main( ) { int k=17; printf("%d,%o,%x\n",k,k,k); return 0; }
A、17,021,0x11
B、17,17,17
C、17,0x11,021
D、17,21,11

19、已知:int x,y; float z; 则以下输入语句错误的是:
A、scanf("%d,%d,%f",&x,&y,&z);
B、scanf ("%d%d%f",&x,&y,&z);
C、scanf ("%d %d %f", &x,&y,&z);
D、scanf ("%d%d%6.2f",&x,&y,&z);

20、可在C语言中用作用户标识符的一组标识符是:
A、void define word
B、as_b3 _123 ff
C、for _abc case
D、2c do sig

21、以下程序运行的结果是: #include <stdio.h> int main() { int m=5,n=10; printf("%d,%d\n",m++,--n); return 0; }
A、5,9
B、6,9
C、5,10
D、6,10

22、根据以下定义语句和数据的输入方式,scanf语句的正确形式应为: 已有定义:float f1,f2; 数据的输入方式:4.52<回车> 3.5<回车>
A、scanf("%f,%f",&f1,&f2);
B、scanf("%f%f",&f1,&f2);
C、scanf("%3.2f %2.1f",&f1,&f2);
D、scanf("%3.2f%2.1f",&f1,&f2);

23、阅读下列程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为: #include <stdio.h> int main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); return 0; }
A、x+y+z=48
B、x+y+z=35
C、x+z=35
D、不确定值

24、下列语句执行后,b的值是: char a='5',b=(char)(a+3);
A、'8'
B、8
C、56
D、53

25、C语言中的标识符只能由字母、数字和下画线组成,且第一个字符
A、可以是字母、数字和下画线中的任一种字符
B、必须为字母
C、必须为数字
D、必须为下画线或字母

26、表达式35/3%3的值是:
A、11
B、2
C、3
D、0

27、C语言的语句都是以( )结束。
A、.
B、空格
C、;
D、#

28、阅读下面的程序:#include<stdio.h> int main() { char ch; scanf("%c%c",&ch,&ch); printf("%c",ch); return 0; }如果从键盘输入: 1+2<回车> 则程序的运行结果是:
A、1
B、+
C、2
D、3

29、已知字母a的ASCII码为十进制的97,下面程序的输出结果是:#include <stdio.h> int main() { char ch1,ch2; ch1='a'+'3'-'1'; ch2='a'+'2'-'2'; printf("%d,%c\n",ch1,ch2); return 0; }
A、99,a
B、99,97
C、c,97
D、不确定的值

30、下列选项中表示整型数据的是:
A、1e-5
B、"1"
C、'haha'
D、0xaf

第一章 OJ——编程题

1、求两个整数之和

2、字母的大小写转换问题

3、整型数据的拆分问题

4、字符型数据参与运算

5、求球体的表面积

第二章 选择结构

第二章 测验

1、逻辑运算符两侧运算对象的数据类型( )
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据

2、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( )
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B、(x>=1)||(x<=10)||(x>=200)||(x<=210)
C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D、(x>=1)||(x<=10)&&(x>=200)||(x<=210)

3、若有:int a=1,b=2,c=3,d=4,m=2,n=2; 则执行(m=a>b)&&(n=c>d)后n的值是( )
A、1
B、2
C、3
D、4

4、以下程序的输出结果是( ) #include<stdio.h> int main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); return 0; }
A、6,1
B、2,1
C、6,0
D、2,0

5、若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是( ) if (x>y) z=x;x=y;y=z;
A、x=10,y=20,z=30
B、x=20,y=30,z=30
C、x=20,y=30,z=10
D、x=20,y=30,z=20

6、以下程序的输出结果是( ) #include<stdio.h> int main() { int a=0,b=0,c=0; if(a=b+c) printf("***\n"); else printf("$$$\n"); return 0; }
A、有语法错误不能通过编译
B、可以通过编译但不能通过连接
C、***
D、$$$

7、以下程序的输出结果是( ) #include<stdio.h> int main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--); return 0; }
A、4
B、5
C、6
D、7

8、以下程序的输出结果是( ) #include<stdio.h> int main() { int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); return 0; }
A、3
B、2
C、1
D、0

9、以下程序的输出结果是( ) #include<stdio.h> int main() { int a=1,b=3,c=5,d=4,x; if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7; printf("x=%d",x); return 0; }
A、1
B、2
C、3
D、6

10、为了避免嵌套的if—else语句的二义性,C语言规定else总是与( )组成配对关系
A、缩排位置相同的if
B、在其之前未配对的if
C、在其之前未配对的最近的if
D、同一行上的if

11、若运行时给变量x输入12,则以下程序的运行结果是( ) #include<stdio.h> int main() { int x,y; scanf("%d",&x); y=x>12?x+10:x-12; printf("%d\n",y); return 0; }
A、0
B、22
C、12
D、10

12、以下程序的输出结果是( ) #include<stdio.h> int main() { int k=4,a=3,b=2,c=1; printf("\n%d\n",k<a?k:c<b?c:a); return 0; }
A、4
B、3
C、2
D、1

13、若w=1,x=2,y=3,z=4,则表达式w<x?w:y<z?y:z的值是( )
A、4
B、3
C、2
D、1

14、执行下列程序段后,变量a,b,c的值分别为( ) int a,b,c,x=10,y=9; a=(--x==y++)?--x:++y; b=x++; c=y;
A、a=9,b=9,c=9
B、a=8,b=8,c=10
C、a=9,b=10,c=9
D、a=1,b=11,c=10

15、以下程序的输出结果是( ) #include<stdio.h> int main() { int x=0,y=2,z=3; switch(x) { case 0: switch(y) { case 0: printf("*"); break; case 1: printf("%"); break; case 2: printf("&"); break; } case 1: switch(z) { case 1: printf("$"); case 2: printf("#"); break; default: printf("@"); } default : printf("!"); } return 0; }
A、&@!
B、*
C、%@
D、&!

16、下列条件语句中,功能与其他语句不同的是()
A、if(a) printf("%d\n",x); else printf("%d\n",y);
B、if(a==0) printf("%d\n",y); else printf("%d\n",x);
C、if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D、if(a==0) printf("%d\n",x); else printf("%d\n",y);

17、有如下程序 #include<stdio.h> int main( ) { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); return 0; } 该程序的输出结果是 ( )
A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2,b=2

18、若执行下面的程序时从键盘上输入3和4,则输出是() #include<stdio.h> int main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s=s*s; printf("%d\n",s); return 0; }
A、14
B、16
C、18
D、20

19、设ch是char型变量,其值为A,且有表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch;则表达式的值是()
A、A
B、a
C、Z
D、z

20、设a,b和c都是int型变量,且a=3,b=4,c=5,则表达式中值为0的表达式是()
A、'a'&&'b'
B、a<b
C、a||b+c&&b-c
D、!((a<b)&&!c||1)

21、能正确表示a≥10或a≤0的关系表达式是()
A、a>=10 or a<=0
B、a>=10 | a<=0
C、a> =10 , a< =0
D、a>=10 || a<=0

22、若运行下面程序时,给变量a输入15,则输出结果是( )。 #include<stdio.h> int main( ) { int a,b; scanf("%d",&a); b=a>15?a+10:a-10; printf("%d\n",b) ; return 0; }
A、5
B、25
C、15
D、10

23、以下选项中,两个条件语句语义等价的是( )
A、if(a=2)printf("%d\n",a); if(a==2)printf("%\n",a);
B、if(a-2)printf("%d\n",a); if(a!=2)printf("%\n",a);
C、if(a)printf("%d\n",a); if(a==0)printf("%\n",a);
D、if(a-2)printf("%d\n",a); if(a==2)printf("%\n",a);

24、关于switch语句和break语句的描述中,正确的是()
A、在switch语句中必须使用break语句
B、break语句只能用于switch语句中
C、在使用switch语句时,可以根据需要选择是否使用break语句
D、break语句是switch语句的一部分

25、以下程序的输出结果是( ) #include<stdio.h> int main() { int x=1,y=0; switch(x) { case 1: switch(y) { case 0: printf("first, "); break; case 1: printf("second, ");break;} case 2: printf("third"); } return 0; }
A、first, third
B、first, second, third
C、first,
D、first, second,

26、判断char型变量ch是否为小写字母的正确表达式是( )
A、’a’<=ch<=’z’
B、(ch>=’a’)&(ch<=’z’)
C、(ch>=’a’)&&(ch<=’z’)
D、(‘a’<=ch)and(‘z’>=ch)

27、若有int x=3,y=4,z=5;则下列表达式中值为0的是( )
A、'x'&&'y'
B、x<=y
C、x||y+z&&y-z
D、!((x<y)&&!z||9)

28、已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值是( )
A、0
B、1
C、语法错误
D、假

29、执行下列语句后a的值为( ) int a,b,c; a=b=c=1; ++a||++b&&++c;
A、0
B、1
C、2
D、错误

30、执行下列语句后b的值为( ) int a,b,c; a=b=c=1; ++a||++b&&++c;
A、0
B、1
C、2
D、错误

31、执行下列语句后a的值为( ) int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);
A、5
B、0
C、2
D、1

32、执行下列语句后b的值为( ) int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);
A、6
B、0
C、1
D、4

第二章 OJ——编程题

1、学生成绩判断

2、4的倍数

3、字符类型判断

4、三个数排序

5、计算总金额

第三章 循环结构

第三章 测验

1、以下关于for语句的说法不正确的是( )
A、for循环只能用于循环次数已经确定的情况
B、for循环是先判断表达式,后执行循环体语句
C、for循环中,可以用break语句跳出循环体
D、for循环体语句中,可以包含多条语句,但是要用花括号括起来

2、若i和k都是整型变量,for语句如下,则下面描述正确的是( ) for(i=0,k=-1;k=1;k++) printf("试题及答案

**\n");
A、循环体执行两次
B、循环体执行一次
C、循环体一次也不执行
D、构成无限循环

3、以下程序中,while循环的次数是( ) #include<stdio.h> int main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } return 0; }
A、1
B、死循环,不能确定次数
C、6
D、10

4、对于for(表达式1; ;表达式3)可理解为( )
A、for(表达式1; 1 ;表达式3)
B、for(表达式1:1 ;表达式3)
C、for(表达式1;表达式1 ;表达式3)
D、for(表达式1; 表达式3 ;表达式3)

5、以下正确的描述是( )
A、continue语句的作用是结束循环
B、break语句可以在循环体或者switch语句中使用
C、break语句的作用是结束本次循环
D、continue语句和break语句的作用相同

6、循环语句中,如果第一次循环条件不成立时,循环体还会执行一次的是( )
A、for语句
B、while语句
C、do-while语句
D、其他三个答案都可以

7、语句while(a);中的条件a等价于( )
A、a==0
B、a!=0
C、a==1
D、a=1

8、若变量k为整型,则下面的while循环执行( )次。 k=2; while(k==0) printf("%d",k); k--; printf(“\n”);
A、10
B、9
C、0
D、1

9、下面程序的运行结果是( ) #include<stdio.h> int main() { int num=0; while(num<=2) { num++; printf("%d ",num);} return 0; }
A、1
B、1 2
C、1 2 3
D、1 2 3 4

10、已知在main()函数中定义了整型变量i,则下面程序段的执行结果是( ) for(i=0;i<10;i++) if(i<=5) break; printf("%d",i);
A、0
B、1
C、5
D、10

11、已知n为整型变量,则下述循环程序段执行后,n的值是( ) for(n=0;n<100;n=2*n+1); printf("%d",n);
A、125
B、126
C、127
D、128

12、在C语言中,执行语句:for (j=1; j++<4; );后,变量j的值是( )
A、3
B、4
C、5
D、不确定值

13、下述程序段执行后,输出的结果是( ) #include<stdio.h> int main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3;continue; } } printf("%d",a); return 0; }
A、4
B、5
C、6
D、101

14、已知i,j,w为整型变量,且w=0,则下述程序段执行后,w的值是( ) for(i=4;i!=0;i--) for(j=1;j<=2;j++) w=w+i*j; w=i*j;
A、4
B、0
C、1
D、30

15、设n为整型变量,则循环语句for(n=10;n>0;n--)的循环次数为( )
A、10
B、9
C、11
D、12

16、设已定义k为int型变量,则下面while循环执行( ) k=10; while(k=1) k-=1;
A、执行10次
B、无限循环
C、一次也不执行
D、执行一次

17、下面关于for循环语句描述正确的是( )
A、for循环不能用于循环次数未知的情况
B、for循环语句执行时是先执行循环体语句,后判断表达式
C、不能使用break语句结束for循环语句
D、使用for语句构成的循环结构,当循环体语句是多条语句时,循环体语句需要用{ }括起来

18、设已定义k为int型变量,则下面while循环执行( ) k=10; while(k==1) k-=1;
A、执行10次
B、无限循环
C、执行一次
D、一次也不执行

19、已知整型变量a=1,b=2,c=2,t为整型变量,则下述循环执行后a,b,c的值是( ) while(a<b<c) { t=a;a=b;b=t;c--; }
A、1 2 0
B、2 1 0
C、1 2 1
D、2 1 1

20、如果在main函数中,i是已经定义好的整型变量,则下面循环执行后的输出结果是( ) for(i=1;i<=5;i++) { if(i%2) printf("*"); else continue; printf("#"); }
A、*#*#*#
B、#*#*#*
C、*#*#
D、#*#*

21、已知整型变量x的初值为23,则以下循环程序执行后将输出( ) do{ printf("%d",x--); }while(!x);
A、321
B、23
C、不输出任何内容
D、陷入死循环

22、设有整型变量x,下述语句( )不会出现死循环
A、for(;;x+=1);
B、for(;(x=getchar())!='\n';);
C、while(1) { x++;}
D、for(x=10;;x--);

23、以下程序用于求1+1/2+1/3+......+1/9,指出程序的错误行( ) #include<stdio.h> int main() { int i; float t,s=0; A: for(i=1;i<10;i++); { B: t=1/i; C: s+=t; } D: printf("%.2f",s); return 0; }
A、A标号对应的代码行
B、B标号对应的代码行
C、C标号对应的代码行
D、D标号对应的代码行

24、以下程序代码要求实现求输入的10个数中正数的个数。指出程序的错误行( ) #include<stdio.h> int main() { int i,a,n=0; for(i=0;i<10;i++) { A: scanf("%f",&a); B: if(a<=0) C: break; n++; } D:printf("%d",n); return 0; }
A、A标号对应的代码行
B、B标号对应的代码行
C、C标号对应的代码行
D、D标号对应的代码行

25、在main函数中,c是经过定义的整型变量,则while(c=getchar());是正确的循环语句( )

26、for(;;);语句相当于while(1);( )

27、以下程序运行后的输出结果是( )。 #include<stdio.h> int main() { int i=10, j=0; do { j=j+i; i--; }while(i>2); printf("%d\n",j); return 0; }

28、设有以下程序: #include<stdio.h> int main() { int n1,n2; scanf("%d",&n2); while(n2!=0) { n1=n2 % 10; n2=n2/10; printf("%d",n1); } return 0; } 程序运行后,如果从键盘上输入1298;则输出结果为( )。

29、以下程序的输出结果是( )。 #include<stdio.h> int main() { int s,i; for(s=0,i=1;i<3;i++,s+=i); printf("%d\n",s); return 0; }

30、阅读下面程序,程序的结果是( )。 #include<stdio.h> int main() { int i=7; for(i=2;i>0;i--) printf("%d,",i); printf("%d",i); return 0;}

第三章 OJ——编程题

1、求1+1/2+1/3+......+1/n

2、求素数

3、统计并输出最高成绩

4、s=a+aa+aaa+......+aa...aaa。

5、水仙花数

第四章 数组

第四章 测验

1、以下关于数组的描述正确的是( )
A、数组的大小是固定的,但可以有不同的类型的数组元素;
B、数组的大小是可变的,但所有数组元素的类型必须相同;
C、数组的大小是固定的,但所有数组元素的类型必须相同;
D、数组的大小是可变的,但可以有不同的类型的数组元素;

2、在定义int a[10];之后,对a的引用正确的是( )
A、a[9]
B、a[6.3]
C、a(6)
D、a[10]

3、以下对二维数组a进行正确初始化的是( )
A、int a[2][3]={ { 1,2},{ 3,4},{ 5,6}};
B、int a[][3]={ 1,2,3,4,5,6};
C、int a[2][]={ 1,2,3,4,5,6};
D、int a[2][]={ { 1,2},{ 3,4}};

4、在定义int a[5][4];之后,对a的引用正确的是( )
A、a[2][4]
B、a[5][0]
C、a[0][0]
D、a[0,0]

5、当接受用户输入的含空格的字符串时,应使用的函数是( )
A、scanf()
B、gets()
C、getchar()
D、getc()

6、以下程序给数组所有的元素输入数据,空处应填入( ) main() { int a[10],i=0; while(i<10) scanf("%d",__); }
A、&a[i]
B、a[i++]
C、&a[i++]
D、&a[++i]

7、有字符数组a[80],b[80],则正确的输出语句是( )
A、puts(a,b);
B、printf("%s,%s",a[],b[]);
C、putchar(a,b);
D、puts(a);puts(b);

8、判断字符串是否相等,应当使用( )
A、if(a==b)
B、if(a=b)
C、if(strcpy(a,b))
D、if(strcmp(a,b))

9、下面程序的运行结果是( ) char c[]="\t\v\\\0will\n"; printf("%d",strlen(c));
A、14
B、3
C、9
D、输出值不确定

10、若二维数组a有m列,则在a[i][j]前的元素个数是( )
A、j*m+i
B、i*m+j
C、i*m+j-1
D、i*m+j+1

11、以下一维数组a的正确定义是( )
A、int a(10);
B、float n=10,a[n];
C、int n; scanf("%d",&n); float a[n];
D、#define size 10; long a[size];

12、以下对字符数组word进行初始化,不正确的是( )
A、char word[]='cool\0';
B、char word[]={ 'c','o','o','l'};
C、char word[]={ "cool"};
D、char word[]="cool\0";

13、在执行int a[][3]={ 1,2,3,4,5,6};语句后,a[1][0]的值是( )
A、1
B、2
C、4
D、5

14、在执行char str[10]="china\0";strlen(str)的结果是( )
A、5
B、6
C、7
D、9

15、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )
A、整型常量
B、整型表达式或整型常量
C、实型常量
D、任何类型的表达式

16、有下面程序段 char a[3],b[]="china"; a=b; printf("%s",a); 则( )
A、运行后将输出china
B、运行后将输出ch
C、运行后将输出chi
D、编译出错

17、下面程序的功能是将字符串s中所有的字符c删除。应填入( ) #include "stdio.h" main() { char s[80]; int i,j; gets(s); for(i=j=0;s[i]!='\0';i++) if(s[i]!='c') ____________; s[j]='\0'; puts(s); }
A、s[j++]=s[i]
B、s[++j]=s[i]
C、s[j]=s[i];j++
D、s[j]=s[i]

18、下面程序的运行结果是( ) #include "stdio.h" main() { char ch[7]={ "12ab56"}; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); }
A、1
B、1256
C、12ab56
D、1 2 5 6

19、下面程序的运行结果是( ) #include "stdio.h" main() { char str[]="ssswlia",c; int k; for(k=2;(c=str[k])!='\0';k++) { switch(c) { case 'i': ++k; break; case 'l': continue; default : putchar(c);continue;} putchar('*'); } }
A、ssw*
B、sw*
C、sw*a
D、sw

20、下面程序的运行结果是( ) #include "stdio.h" #include "string.h" main() { char a[80]="ab",b[80]="lmnp"; int i=0; strcat(a,b); while(a[i++]!='\0') b[i]=a[i]; puts(b); }
A、lb
B、ablmnp
C、ab
D、lblmnp

21、以下程序的功能是: 按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出: #include <stdio.h> main() { int n,k; float score,sum,aver; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } aver=sum/4.0; printf("No%d:%f\n",n,aver); } } 以上程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确,这条语句是( )
A、sum=0.0;
B、sum+=score;
C、aver=sum/4.0;
D、printf("No%d:%f\n",n,aver);

22、以下程序的输出结果是( ) #include <stdio.h> main() { char s[]="abcdef"; s[3]='\0'; printf("%s\n",s); }
A、abcdef
B、abc
C、abcd
D、abc\0

23、写出以下程序的输出结果( ) #include <stdio.h> main() { char s1[30]="this book",s2[30]="that hook"; int i; for(i=0;s1[i]!= '\0'&& s2[i]!= '\0';i++) if(s1[i]==s2[i]) printf("%c",s1[i]); printf("\n"); }
A、th
B、ook
C、th ook
D、this

24、以下4个字符串函数中,( )所在的头文件与其他3个不同
A、strcpy
B、strlen
C、strcmp
D、gets

25、在数组中,数组名表示( )
A、数组第2个元素的首地址
B、数组第1个元素的首地址
C、数组所有元素的首地址
D、数组最后1个元素的首地址

26、合法的数组定义是( )
A、char a[]="string";
B、int a[5]={ 0,1,2,3,4,5};
C、char a="string";
D、char a[]={ 0,1,2,3,4,5}

27、以下给字符数组str定义和赋值正确的是( )
A、char str[10]; str={ "china!"};
B、char str[]={ "china!"};
C、char str[10]; strcpy(str,"abcdefghijkl");
D、char str[10]={ "abcdefghijkl"};

28、执行下面的程序段后,变量k中的值为( ) int k=3,s[2]; s[0]=k; k=s[1]*10;
A、不定值
B、33
C、30
D、10

29、设有数组定义:char array[]="China"; 则数组array所占的存储空间为( )
A、4个字节
B、5个字节
C、6个字节
D、7个字节

30、设有数组定义:char array[10]="China"; 则数组array所占的存储空间为()
A、4个字节
B、5个字节
C、6个字节
D、10个字节

第四章 OJ——编程题

1、数列首尾交换

2、数学成绩统计

3、方阵对角线

4、字符串的子串

5、字符串比较

第五章 函数

第五章 测验

1、以下说法正确的是()
A、函数定义可以嵌套,函数调用不可以嵌套
B、函数定义不可以嵌套,函数调用可以嵌套
C、函数的定义和调用都可以嵌套
D、函数的定义和调用都不可以嵌套

2、在函数调用时,如果实参是普通变量(如整型变量),则它与对应形参之间的传递方式是()
A、地址传递
B、单向值传递
C、双向值传递
D、用户指定的传递方式

3、关于实参和形参,下面说法正确的是()
A、实参和形参占用的相互独立的存储单元
B、实参和形参占用相同的存储单元
C、实参和形参同名时占用相同的存储单元
D、实参占用存储单元,形参不占用存储单元

4、下面程序代码的执行结果是() #include<stdio.h> fun(int a,int b,int c) { a=456; b=567; c=678; } int main() { int x=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d",z,y,x); return 0; }
A、30,20,10
B、10,20,30
C、456,567,678
D、678,567,456

5、下列四个选项中哪个论述错误的是()
A、不可以在一个函数中定义另一个函数
B、函数必须有返回值
C、main()函数可以放在其他函数之前
D、定义函数时可以无形参

6、在一个源文件中定义的外部变量的作用域是()
A、本文件的全部范围
B、本程序的全部范围
C、本函数的全部范围
D、从定义的位置开始到本文件结束。

7、下列说法正确的是()
A、一个函数的函数体必须有变量定义和执行部分,二者缺一不可
B、一个函数的函数体必须要有执行部分,可以没有变量定义
C、一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
D、其余三个答案都不对

8、下述程序段执行后,输出的结果是() #include<stdio.h> int m=4,n=6; int max(int x,int y) { int max; if(x>y) max=x; else max=y; return max; } int main() { int m=10; printf("%d",max(m,n)); return 0; }
A、4
B、10
C、6
D、5

9、下面程序代码的执行结果是( ) #include<stdio.h> void func(int x) { while(x) { if(x % 10) printf("%d",x % 10); x=x/10; } } int main() { func(2345); return 0; }
A、5432
B、432
C、32
D、2

10、下面程序代码的执行结果是( ) #include<stdio.h> int m=13; int func(int a,int b) { int m=3; return(a*b-m); } int main() { int x=7,y=5; int res; res=func(x,y)/m; printf("%d",res); return 0; }
A、2
B、3
C、5
D、7

11、C语言允许函数缺省类型,此时该函数的类型为( )
A、char
B、int
C、float
D、double

12、以下函数形式中,正确的是( )
A、int func(int x,int y) { z=x+y; return z; }
B、func(int x,y) { int z; z=x+y; return z; }
C、func(x,y) { int x,y; int z; z=x+y; return z; }
D、int func(int x,int y) { int z; z=x+y; return z; }

13、以下函数声明中,正确的是( )
A、double func(int x,int y)
B、double func(int x;int y);
C、double func(int x,int y);
D、double func(int x,y);

14、下述程序的执行结果是( ) #include<stdio.h> #define M 20 func(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } int main() { int i,a[M]={ 1,2,3,4,5,6,7,8,9,10}; func(a,2,9); for(i=0;i<5;i++) printf("%d",a[i]); return 0; }
A、10234
B、12344
C、12334
D、12234

15、C语言中函数返回值的类型是由( )决定
A、return语句中的表达式类型
B、调用函数的主调函数类型
C、定义函数时所指定的函数类型
D、调用函数时临时决定

16、若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是( )
A、extern static float a;
B、float a;
C、extern auto float a;
D、extern float a;

17、下列四个选项中论述错误的是( )
A、实参可以是常量、变量或表达式
B、形参可以是变量、常量或表达式
C、实参可以为任意类型
D、形参应与其对应的实参类型一致

18、以下程序运行后的输出结果是( ) #include <stdio.h> func(int a,int b) { static int m=0,i=2; i+=m++; m=i+a+b; return m; } int main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d",p); return 0; }
A、8,8
B、8,16
C、7,14
D、7,7

19、已知某班10个同学的C语言程序设计成绩,计算平均成绩。指出程序的错误行( ) #include<stdio.h> int main() { int a[10],i; float ave; A: float average(int m[10]); for(i=0;i<10;i++) B: scanf("%d",a[i]); C: ave=average(a[10]); printf("%7.2f",ave); return 0; } float average(int m[10]) { int i,sum=0; for(i=0;i<10;i++) sum+=m[i]; D: return sum*1.0/10; }
A、标号A所在行
B、标号B所在行
C、标号C所在行
D、标号D所在行

20、指出程序的错误行( ) #include <stdio.h> int main() { int n; double x, root; A : scanf("%f", &x); scanf("%d", &n); B: double fun(int n, double x); C: root = fun(x, n); printf("Root = %0.2f\n", root); return 0; } double fun(int n, double x) { if(n == 1) return 1; D: else return x * fun(n-1, x); }
A、标号A所在的行
B、标号B所在的行
C、标号C所在的行
D、标号D所在的行

21、主函数和其他自定义函数之间可以互相调用( )

22、函数必须有返回值()

23、写出下面程序代码的执行结果( ) #include<stdio.h> int func(int m[10]) { int s,i; s=m[0]; for(i=0;i<10;i++) if(s>m[i]) s=m[i]; return s; } int main() { int a[10]={ 4,7,9,1,54,67,88,2,21,3}; int res; res=func(a); printf("%d",res); return 0; }

24、运行时从键盘上输入字符串Student和t,以下程序运行后的输出结果是( ) #include<stdio.h> #include<string.h> void func(char s[],char c1) { char new_s[30]; int i,j; for(i=0,j=0;s[i]!='\0';i++) if(s[i]!=c1) new_s[j++]=s[i]; new_s[j]='\0'; strcpy(s,new_s); } int main() { char s1[30],s2[30]; int i,j; char c; printf("please input a string:\n"); gets(s1); printf("please input a random character:\n"); c=getchar(); func(s1,c); puts(s1); return 0; }

25、以下程序运行后的输出结果是( ) #include<stdio.h> void fun(int a[3][3],int res[3]) { int i,j; for(i=0;i<3;i++) { res[i]=a[0][i]; for(j=0;j<3;j++) { if(a[j][i]>res[i]) res[i]=a[j][i]; } } } int main() { int i,x[3][3] = { { 1,5,9},{ 12,100,37},{ -17,11,32}}; int y[3]; fun(x,y); for(i=0;i<3;i++) printf("%d,",y[i]); return 0; }

26、以下程序运行后的输出结果是( ) #include <stdio.h> #include <stdio.h> void swap(int p1,int p2) { int temp; temp=p1; p1=p2; p2=temp; } int main() { int a=6,b=8; swap(a,b); printf("%d,%d",a,b); return 0; }

27、以下程序运行后的输出结果是( ) #include <stdio.h> int x=2; void fun(int y) { int x=6; x+=y; } int main ( ) { int a=3; fun (a); x+=a; printf("%d",x); return 0; }

28、以下程序运行后的输出结果是( ) #include <stdio.h> void func() { extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int x,y; int main() { int a=7,b=5; int x; x=a+b; y=a-b; func(); printf("%d,%d",x,y); return 0; }

29、运行时从键盘上输入字符串Student,以下程序运行后的输出结果是( ) #include <stdio.h> int func(char s[]) { int i=0; for(;s[i]!='\0';i++); return i; } int main() { char str[50]; int num; gets(str); num=func(str); printf("%d",num); return 0; }

30、从键盘输入5 56 78 -356 89 8120按回车键,以下程序运行后的输出结果是( ) #include<stdio.h> void func(int n,int array[]) { int i,j,t; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(array[j]<array[j+1]) { t=array[j]; array[j]=array[j+1]; array[j+1]=t; } } int main() { int i,N,a[30]; scanf("%d",&N); for(i=0;i<N;i++) scanf("%d",&a[i]); func(N,a); for(i=0;i<N;i++) printf("%d ",a[i]); return 0; }

第五章 OJ——编程题

1、水仙花数

2、递归法求数

3、字符个数统计

4、成绩统计

5、数据排序

第六章 指针

第六章 测验

1、设已有定义:float x;对指针变量p正确定义赋初值的是:
A、float *p=2000;
B、int *p=(float)x;
C、float p=&x;
D、float *p=&x;

2、已有定义:int x[10],*p; 能正确赋值的语句是:
A、p=&x;
B、p=x[0];
C、*p=&x[0];
D、p=x;

3、下列定义字符串语句中,哪个是错误的定义语句:
A、char x[10];x="program";
B、char *x;x="program";
C、char x[10]="program";
D、char *x="program";

4、以下程序从键盘读入一个数据 2000,输出的数据是#include<stdio.h> int main() { int x=10,*p=&x; scanf("%d",&*p); printf("%d\n",*p); return 0; }
A、2000
B、10
C、2010
D、随机数

5、int a[]={ 1,2,3,4,5,6,7,8,9,10},*p=a,i; 数组元素地址的正确表示:
A、&(a+1)
B、a++
C、&p
D、&p[i]

6、下面的程序,将会输出怎样的结果? #include<stdio.h> int main( ) { char string[]="I love China!"; printf("%s\n",string+7); return 0; }
A、I love China!
B、China!
C、China!\0
D、什么都不输出

7、设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是:
A、&p=&q
B、p=q
C、*p=n1;
D、p=*q

8、以下函数的功能是将两个字符串s和t连接起来,横线部分应该填写什么语句? void conj(char *s,char *t) { char *p=s; while(*s) _______; while(*t) { *s=*t;s++;t++;} *s='\0'; }
A、*s
B、s
C、s++
D、s--

9、下面程序的输出结果是: #include<stdio.h> void ast(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; } int main() { int a=4,b=3,c,d; ast(a,b,&c,&d); printf("%d,%d\n",c,d); return 0; }
A、c和d未赋值,输出错误
B、7,1
C、7,-1
D、1,7

10、若有定义int a[10];int *p1=a,*p2=&a[0];则错误的表达式是:
A、p1-p1
B、p1+p2
C、p1<p2
D、p1=p2

11、设已定义 int a, *p; 下列赋值表达式中正确的是:
A、p=&a
B、p=*a
C、*p=&a
D、*p=a

12、若已定义 int a=1,*b=&a; , 则printf("%d\n",*b);的输出结果为:
A、b的值
B、a的值
C、a的地址
D、b的地址

13、设有函数定义 void p(int *x){ printf("%dn",*x);} 和变量定义int a=3;则正确的函数调用是:
A、p(a)
B、p(&a)
C、p(*a)
D、p(int *a)

14、运行以下程序,输出结果为: #include<stdio.h> int fun(int a,int *b) { a++; (*b)++; return a+*b; } int main() { int x=1,y=2; printf("%d ",fun(x,&y)); printf("%d ",fun(x,&y)); return 0; }
A、6 6
B、5 5
C、5 6
D、6 5

15、若已定义 int a[]={ 1,2,3,4},*p=a; 则下面表达式中值不等于2的是:
A、*(++p)
B、*(++a)
C、*(p+1)
D、*(a+1)

16、若已定义: int a[]={ 1,2,3,4},*p; p=a+1;则p[1]的值是:
A、4
B、无意义
C、2
D、3

17、有如下程序段,则下面与n=3;等价的语句是: int n; int *p1; p1=&n;
A、3=n;
B、p1=3;
C、*p1=3;
D、&p1=3;

18、有如下程序段,则下面不正确的选项是: int a[10]; int *p; p=a;
A、&a=1;
B、a[1]=1;
C、*(a+1)=0;
D、*(p+1)=1;

19、#include<stdio.h> int main() { int k=1,j=2,*p,*q,*t; p=&k; q=&j; t=p; p=q; q=t; printf("%d,%d",*p,*q); }
A、2,1
B、2,2
C、1,2
D、1,1

20、以下程序段的功能是从键盘接收一个字符串,删除重复的字符,横线部分应该填写什么语句? char string[100],c,*p,*q; gets(string); scanf("%c",&c); for(p=q=string;*p;p++) if(*p!=c) { ____________} *q='\0'; printf("result;%s\n",string);
A、*q++=*p;
B、*p=*q;
C、q=p
D、*q=*p;p++;

21、设有定义int k=2, *ptr1=&k,* ptr2=&k; 不能正确执行的赋值语句是:
A、ptr1=ptr2;
B、ptr2=k ;
C、k=*ptr1+*ptr2;
D、k=* ptr1*(* ptr2);

22、变量的指针是指该变量的:
A、名
B、值
C、地址
D、一个标志

23、若有定义int a[ ]={ 1,2,3,4,5,6,7,88,9,10}, *p=a; 则值为3的表式是:
A、p+=3, *p++
B、p+=2, *(p++)
C、p+=2,++*p
D、p+=2,*++p

24、若有定义和语句,则输出结果是: int **pp, *p, a=10, b=20; pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp);
A、20,10
B、10,10
C、10, 20
D、20,20

25、设有定义: char *a[2]={ "ABC","123"}; 则以下说法正确的是:
A、a数组的两个元素分别存放两个字符串的首地址
B、a是指针变量,它指向含有两个数组元素的字符型一维数组
C、a数组两个元素的值分别是"ABC"和"123"
D、定义有误

26、下面各语句行中,能正确进行字符串赋值操作的语句是:
A、char *s;scanf("%s",s);
B、char st[4][5]={ "HELLO"};
C、char s[5]={ 'H', 'E', 'L', 'L', 'O'};
D、char * s;s="HELLO";

27、执行以下程序段后,y的值是: int a[]={ 1,2,3,4,5}; int y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf("%d\n",y);
A、9
B、10
C、7
D、6

28、有以下定义 ,则不能给数组a输入字符串的语句是: char a[10],*b=a;
A、gets(b);
B、gets(&a[0]);
C、gets(a);
D、gets(a[0]);

29、若有以下定义和语句,不能正确引用w数组元素的是: int w[2][3], (*pw)[3];
A、pw=w;
B、*w[1][2]
C、*(w[0]+2)
D、*(pw[1]+2)
E、pw[0][0]

30、若有以下的定义:int t[3][2];不能正确表示t数组元素地址的表达式是:
A、&t[1][2]
B、&t[3][2]
C、t
D、t[2]

31、指针变量所占用的内存空间和其基类型有关

32、指针变量的命名规则与标识符相同

33、指针变量和指针所指向的变量是一样的

第六章 OJ——编程题

1、排序问题

2、求一组数据中的最大值和最小值

3、统计字符串中空格的个数

4、将字符串中的数字改为*

5、求方阵的转置矩阵

第七章 结构体、共用体与文件

第七章 测试

1、当定义一个结构体变量时系统分配给它的内存是
A、各个成员所需内存的总和
B、结构体中第一个成员所需的内存
C、各个成员中占用内存量最大所需的内存
D、结构体中最后一个成员所需的内存

2、设有以下语句 struct exam { int x; float y; char z; } example; 则下面的叙述中不正确的是
A、struct是结构体类型的关键字
B、x,y,z均为结构体成员
C、example是结构体类型名
D、struct exam是结构体类型

3、以下对结构体变量stu1成员age的非法引用是 struct student { int num; int age; } stu1,*p; p=&stu1;
A、stu1.age
B、student.age
C、p->age
D、(*p).age

4、已建立一个单向链表,指针变量p1指向链表中的一个结点,p2指向下一个结点,指针变量p指向新申请结点,将p所指结点插入到链表中p1和p2之间的语句为
A、p->next=p2; p1->next=p;
B、p1=p;p=p2;
C、p=p2;p1->next=p;
D、p1=p;p->next=p2;

5、下列说法中,错误的是
A、枚举类型中的枚举元素是常量
B、一个整数不能直接赋值给枚举变量
C、可以对枚举元素重新赋值
D、枚举类型中枚举元素的值从0开始以1为步长增长

6、以下程序的运行结果是 #include <stdio.h> struct date { int year; int month; int day; } today; main() { printf("%d\n",sizeof(struct date)); }
A、6
B、2
C、4
D、12

7、下面程序的运行结果是 #include <stdio.h> main() { struct complex { int x; int y; } cnum[2]={ { 1,3},{ 2,7}}; printf("%d\n", cnum[0].y/cnum[0].x*cnum[1].x) }
A、6
B、14
C、7
D、2

8、以下程序的运行结果为 #include <stdio.h> main( ) { union data { char a[12]; int b[4]; double c[2]; }x; printf("%d\n",sizeof(x)); }
A、16
B、8
C、44
D、12

9、以下说法错误的是
A、fgetc()函数的功能是从文件读取一个字符数据
B、fgets()函数的功能是从文件读取一个字符串
C、fscanf()函数的功能是按照指定格式读取二进制文件中的数据
D、fread( )函数的功能是从指定文件读取一个数据块

10、以下程序的运行结果是 #include <stdio.h> main() { enum Grade { A, B, C, D} result; int input; result=A; printf("%d\n",result); }
A、0
B、A
C、1
D、B

11、下列程序的输出结果是 struct abc { int a; int b; int c;}; main( ) { struct abc s[2]={ { 1,2,3},{ 4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); }
A、5
B、6
C、7
D、8

12、下列程序的输出结果是 struct st { int x; int *y; } *p; main( ) { int dt[4]={ 10,20,30,40}; struct st aa[4]={ { 50,&dt[0]}, { 60,&dt[1]}, { 60,&dt[2]}, { 60, &dt[3]}}; p=aa; printf("%d\n",++(p->x)); }
A、10
B、11
C、51
D、60

13、下列程序的输出结果是 struct cmplx { int x; int y; }; main( ) { struct cmplx cnum[2]={ 1,3,2,7}; printf("%d\n",cnum[0].y /cnum[0].x * cnum[1].x); }
A、0
B、1
C、3
D、6

14、有如下定义 struct person{ char name[9]; int age;}; struct person calss[4]={ { "Johu",17},{ "Paul",19},{ "Mary",18}, { "Adam",16}}; 根据以上定义,能输出字母M的语句是
A、printf("%c\n",class[3].name);
B、printf("%c\n",class[3].name[1]);
C、printf("%c\n",class[2].name[1]);
D、printf("%c\n",class[2].name[0]);

15、设有变量定义 struct stu { int age; int num; }std,*p=&std; 能正确引用结构体变量std中成员age的表达式是
A、std->age
B、*std->age
C、*p.age
D、(*p).age

16、设有变量定义 struct person { char name[20]; int age; char sex; }a={ "li ning",20,'m'},*p=&a; 则对字符串li ning的引用方式不正确的是
A、(*p).name
B、p.name
C、a.name
D、p->name

17、以下对枚举类型名的定义中正确的语句是
A、enum a={ one,two,three};
B、enum a { a1,a2,a3} ;
C、enum a={ '1','2','3'} ;
D、enum a { "one","two","three"} ;

18、下面的变量表示文件指针变量的是
A、FILE *fp
B、FILE fp
C、FILER *fp
D、file *fp

19、在 C中,常用如下方法打开一个文件 if((fp=fopen("file1.c","r" ))==NULL) { printf("cannot open this file n");exit(0);} 其中函数exit(0)的作用是
A、退出C环境
B、退出所在的复合语句
C、当文件不能正常打开时,关闭所有的文件,并终止正在调用的过程
D、当文件正常打开时,终止正在调用的过程

20、执行如下程序段 #include <stdio.h> FILE *fp; fp=fopen("file","w" ); 则磁盘上生成的文件的全名是
A、file
B、file.c
C、file.dat
D、file.txt

21、若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是
A、EOF
B、-1
C、非零值
D、NULL

22、在C中,所有的磁盘文件在操作前都必须打开,打开文件函数的调用格式为fopen(文件名,文件操作方式); 其中文件名是要打开的文件的全名,它可以是
A、字符变量名、字符串常量、字符数组名
B、字符常量、字符串变量、指向字符串的指针变量
C、字符串常量、存放字符串的字符数组名、指向字符串的指针变量
D、字符数组名、文件的主名、字符串变量名

23、在C中,打开文件的程序段中正确的是
A、#include <stdio.h> FILE *fp; fp=fopen("file1.c","WB");
B、#include <stdio.h> FILE fp; fp=fopen("file1.c","w");
C、#include <stdio.h> FILE *fp; fp=fopen("file1.c","w");
D、#include <string.h> FILE *fp; fp=fopen("file1.c","w");

24、下列程序的主要功能是 #include "stdio.h" main() { FILE *fp; long count=0; fp=fopen("q1.c","r"); while(!feof(fp)) { fgetc(fp);count++;} printf("count=%ld\n",count); fclose(fp); }
A、读文件中的字符
B、统计文件中的字符数并输出
C、打开文件
D、关闭文件

25、下列程序的主要功能是 #include "stdio.h" main() { FILE *fp; char ch; long count1=0,count2=0; fp=fopen("q1.c","r"); while(!feof(fp)) { ch=fgetc(fp); if(ch=='{ '}count++; if(ch=='}') count2++;} if(count1==count2) printf("YES!\n"); else printf("ERROR!\n"); fclose(fp); }
A、读文件中的字符'{ '和'}'
B、统计文件中字符'{ '和'}'的个数
C、输出“YES!”和“ERROE!”
D、检查C语言源程序中的花括号是否配对

26、下面程序的主要功能是 #include "stdio.h" main() { FILE *fp; float x[4]={ -12.1,12.2,-12.3,12.4}; int i; fp=fopen("data1.dat","wb"); for(i=0;i<4;i++) { fwrite(&x[i],4,1,fp);} fclose(fp); }
A、创建空文档data1.dat
B、创建文本文件data1.dat
C、将数组x中的四个实数写入文件data1.dat中
D、定义数组x

27、下列程序的输出结果是 struct HAR { int x,y; struct HAR *p; } h[2]; main( ) { h[0].x=1; h[0].y=2; h[1].x=3; h[1].y=4; h[0].p=&h[1]; h[1].p=h; printf("%d%d\n",(h[0].p)->x,(h[1].p)->y); }
A、12
B、23
C、14
D、32

28、在C中打开文件,选用文件操作方式为"wb",则下列说法中错误的是
A、要打开的文件必须存在
B、要打开的文件可以不存在
C、打开文件后可以读取数据
D、要打开的文件是二进制文件

29、如果要将存放在双精度型数组a[10]中的10个双精度型实数写入文件型指针fp1指向的文件中,正确的语句是
A、for(i=0;i<80;i++) fputc(a[i],fp1);
B、for(i=0;i<10;i++) fputc(&a[i],fp1);
C、for(i=0;i<10;i++) fwrite(&a[i],8,1,fp1);
D、fwrite(fp1,8,10,a);

30、以只写方式打开一个二进制文件,应选择的文件操作方式是
A、"a+"
B、"w+"
C、"RB"
D、"wb"

第七章 OJ——编程题

1、物品排序

2、单链表的链接

3、遍历单链表

4、删除单链表指定元素

5、结构体练习

学习通C语言学习辅导与习题课

学习通C语言学习辅导与习题课是一款专门为C语言学习者提供的学习辅导和习题课程软件。

功能介绍

学习通C语言学习辅导与习题课具有以下功能:

  • 提供C语言基础教学视频,让初学者快速掌握C语言的基本语法和编程思想;
  • 提供大量的C语言习题,逐步提高学习者的编程能力;
  • 提供在线编译器,让学习者可以在学习过程中随时编写和测试自己的代码;
  • 提供在线答疑服务,让学习者可以随时向专业编程教师提出问题,获得及时解答;
  • 提供学习进度跟踪功能,让学习者可以清楚地了解自己的学习进度和掌握情况。

优势分析

学习通C语言学习辅导与习题课具有以下优势:

  • 内容全面:涵盖C语言的基础知识和进阶内容,适合不同层次的学习者;
  • 习题丰富:提供大量的C语言习题,让学习者可以循序渐进、逐步提高编程能力;
  • 在线编译器:提供在线编译器,让学习者可以随时编写和测试自己的代码;
  • 在线答疑:提供在线答疑服务,让学习者可以随时获得专业编程教师的解答;
  • 学习进度跟踪:提供学习进度跟踪功能,让学习者可以清楚地了解自己的学习进度和掌握情况。

使用方法

使用学习通C语言学习辅导与习题课的方法如下:

  1. 注册登录学习通C语言学习辅导与习题课;
  2. 选择所需的C语言教学视频或习题进行学习;
  3. 使用在线编译器进行编写和测试代码;
  4. 如有问题可以随时向在线答疑服务提出问题;
  5. 使用学习进度跟踪功能查看自己的学习进度和掌握情况。

适用对象

学习通C语言学习辅导与习题课适用于以下对象:

  • C语言初学者:可以通过学习通C语言学习辅导与习题课,快速掌握C语言的基础知识和编程思想;
  • C语言进阶者:可以通过学习通C语言学习辅导与习题课,逐步提高自己的编程能力和解决问题的能力。

结语

学习通C语言学习辅导与习题课是一款非常优秀的C语言学习软件,通过使用该软件,学习者可以轻松学习C语言的基础知识和编程思想,并逐步提高自己的编程能力。如果你有C语言学习的需求,不妨试试学习通C语言学习辅导与习题课。


买方和银行通常不接受的提单有

A.“从巅入络脑,还出别下项”是哪条经脉的循行( )
B.后现代主义电影具有反传统、反文化、反深度和平面化等特征。
C.轻型门式刚架多跨结构应尽量选择 屋面
D.散脉多见于元气离散,脏腑精气衰败,尤其是心、肾之气将绝的危重病证。


穆时英被誉为“新感觉派圣手”。

A.称“心为五脏六腑之大主”的根据是( )
B.贫困的两个基本类型包括( )。
C.噪声的传播途径控制手段中,通过减低机械振动减小噪声属于( )。
D.在传播过程中脱离当前正在


增加渗透通道是木材渗透性的主要改善方法

A.税收具有强制性、有偿性、固定性的特征。(  )
B.在下列选项中,不正确的赋值语句是________.
C.時間があります( )、図書館へ行きます。
D.影响种植手术成功与否的关键技术操作是微创和精确。


下列哪种情况属于第二种有形磨损( )

A.当交换机不支持MDI/MDIX时,交换机(无级连端口)间级连采用的线缆为()
B.彭作义时代的管理模式()
C.正常身材的成年男子在完全不进食、仅靠储存的脂肪下可生存超过50-60天。
D.铸锭凝固时绝大部分结晶潜热是通过液相散失时,结晶得到的固态显微组织为( )。


下列关于造字法的描述,正确

A.关于Alpha通道的使用
B.假设一个经济体生产3万件商品,每单位售价3美元,每单位售价2美元。生产出好的
C.下列试验中属于原位测试的是( )。
D.永定客家山歌的代表性传承人是


过错相抵可以再道路交通事故责任中予以适用,是否正确

A.下列元素中,价层电子全为成对电子的元素是( )
B.(tt7-8)变压器是应用两个线圈间存在自感耦合制成的,这说法( )
C.b2b39d0cea6b46f98f64afe7c4c69e9c.png
D.以下哪些属于好听众应该具备的素养


在会计信息质量要求中,要求合理核算可能发生的费用和损失的是(  )。

A.空间形态的创意表达,主要是以形态设计的( )与空间之间的联系为主。
B.审计差异按照是否需要调整账户记录可分为核算差异和重分类差异。( )
C.声波在耳中的传播经历过从空气到液体的过程。()
D.25d24c0c73de4ec7a9ce9c0ee440d03d.jpg


扑救油类火灾有效的灭火剂是( )

A.智慧职教: 久咳肺虚,干咳少痰,短气自汗,口干舌燥,脉虚细。治宜
B.下列有关风险评估的提法中,正确的有
C.昆虫体色一般与周围环境的颜色接近
D.粗纱卷绕时,通常是通过筒管的速度( )锭翼的速度实现卷绕的。


对外贸易地理方向是越集中越好。

A.在成人心肺复苏中,人工呼吸的频率为()。
B.安塞农民画注重情感、夸张大胆等特点,户县农民画注重生活,浪漫朴拙等特点。
C.What gift have you________ your dad
D.找共同的爱好和兴趣属于什么效应


《狂人日记》的小序中的“昆仲”指的是( )

A.声音包括自然之声和人类的声音两种。()
B.下列哪些学科在材料力学的发展过程中起到了巨大的促进作用
C.创业团队组建完成,在创业活动经营者保持全体成员稳定性,不能有人撤出。( )
D.财产清查的意义不包括( )。


关于III度胎盘早剥的处理,下列哪一项处理是错误的

A.注浆料中引入水玻璃是为了降低坯料的烧成温度。
B.智慧职教: 整箱货的英文缩写是( )
C.彩蛋工艺融合了国画、工笔画、_____等技艺特点。具有较高的欣赏和收藏价值。
D.市场化检测与认证机构所提供的检测结果,成为一种有效的质量信号工具


质粒DNA的特征有( )。

A.一个Web应用系统通常的组成部分不包括: ( )
B.确切了解顾客的满意程度并收集信息
C.急性肾功能衰竭病人少尿期或无尿期出现水中毒的主要原因是:
D.富文本框的SelectionFont属性可以用来设定一部分内容的字体_


人畜粪便经沼气发酵或高温堆肥处理后再利用能够降低土壤微生物污染的发生。

A.论述外国园林发展概况及其造园特点。
B.红与绿的搭配属于什么组合。
C.初学遥控无人机的正确练习方法是 。
D.社会问题需要动用社会力量解决( )


地位差异对信息传输没有影响

A.对方请我们坐下时,为表示轻松自然,应该坐椅子的( )
B.在罗马大斗兽场面处理中,下部三层采用了不同的柱式构图,有下向上,依次是()。
C.三孔插座上哪个孔是火线()。
D.关于组合板和非组合板的施工阶段验算,以下描述哪个正确

文章版权及转载声明

本文地址:http://www.zzxhsh.org/14e799777.html发布于 2024-05-19 05:34:53
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论