第一周:从问题到C语言程序设计

1.1 计算机的问题求解方法随堂测验

1、结构化程序设计方法包含三种基本结构:

A、顺序结构

B、选择结构

C、循环结构

D、跳转结构

2、算法的描述方法除了自然语言之外,还包括:

A、流程图

B、NS流程图

C、伪代码

D、程序语言

3、程序设计包括以下五个步骤: (1)确定问题可计算; (2)建立问题的数学模型; (3)设计算法和数据结构; (4)选择合适的计算机语言编写程序; (5)调试运行程序分析结果。 这种说法正确吗?

4、算法的特征包括:有穷性,确定性,有效性,有零或多个输入,有一或多个输出。这种说法正确吗?

5、goto语句很方便,应该随意使用

6、计算复杂度包括【 】复杂度和空间复杂度。

第二周:数据计算实现与顺序结构程序设计(一)

2.1 算术运算的C程序实现随堂测验

1、以下程序的输出结果是____。 #include main( ) { int x=10, y=10; printf("%d %d\n", x--, --y); }

A、10 10

B、9 9

C、9 10

D、10 9

2.2 关系运算的C程序实现随堂测验

1、已知:x=10,y=2; 表达式x-5<=x+y的值是____

A、0

B、1

C、11

D、9

第二周作业

1、已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是____

A、float

B、int

C、char

D、double

2、已知 int i=5;执行语句 i+=++i;i的值是____

A、12

B、10

C、11

D、其他答案都不对

3、已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____

A、5

B、0

C、1

D、6

4、下列可以正确表示字符型常数的是____

A、'\t’

B、"a"

C、"\n"

D、297

5、字符串"\\\065a,\n"的长度是____

A、5

B、8

C、7

D、6

6、把算术表达式

表示为一个C语言表达式,正确的写法是____

A、–(31.6*a*8+1.0/7)*12

B、–(31.6a*8+1/7)*12

C、–(31.6a*8.0+1.0/7.0)*12

D、–31.6*a*8+1.0/7*12

7、温度华氏和摄氏的关系是: C=5(F-32)/9。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____

A、C=5*(F-32)/9

B、C=5/9(F-32)

C、C=5/9*(F-32)

D、三个表达式都正确

8、已知int i=10;表达式“20-0<=i<=9”的值是____

A、1

B、0

C、19

D、20

9、已知:int x,y;double z;则以下语句中错误的函数调用是____

A、scanf ("%x%o%6.2f",&x,&y,&z)

B、scanf ("%d,%lx,%le",&x,&y,&z)

C、scanf ("%2d*%d%lf",&x,&y,&z)

D、scanf ("%x%*d%o",&x,&y)

10、已知” int a=5,b=5,c;”,则执行表达式” c=a=a>b”后变量 a 的值为____

A、0

B、1

C、4

D、5

第四周:选择结构的程序设计

3.1 程序中的路径选择实现随堂测验

1、执行下列程序段后,x、y和z的值分别是 int x=10,y=20,z=30; if(x>y) z=x;x=y;y=z;

A、10,20,30

B、20,30,30

C、20,30,10

D、20,30,20

3.2 路径中的再选择——嵌套判断随堂测验

1、if语句的控制条件 。

A、只能用关系表达式

B、只能用关系表达式或逻辑表达式

C、只能用逻辑表达式

D、可以用任何表达式

3.3 复杂判断问题的C程序设计随堂测验

1、下面的程序片段所表示的数学函数关系是 y=-1; if (x!=0) { if (x>0) y=1;} else y=0;

A、

B、

C、

D、

3.4 多分支问题的C程序设计随堂测验

1、若a和b均是整型变量,以下正确的switch语句是

A、A. switch (a/b) { case 1: case 3.2: y=a+b; break ; case 0: case 5: y=a-b; }

B、B. switch (a*a+b*b); {case 3: case 1: y=a+b; break ; case 0: y=b-a; break; }

C、C. switch a { default : x=a+b; case 10 : y=a-b;break; case 11 : y=a*d; break; }

D、D. switch(a+b) {case 10: x=a+b; break; case 11: y=a-b; break; }

3.6 选择结构的程序实例随堂测验

1、以下程序的输出结果是____ main( ) { int w=4,x=3,y=2,z=1; if(x>y&&!(z==w))printf(”%d\n”,(wx?w:z>y?z:x)); }

A、1

B、2

C、3

D、4

2、if (!k) a=3;语句中的!k可以改写为 ,使其功能不变。

3、以下程序的输出是 main( ) { int a=0, b=0, c=0; if (a=b+c) printf (”*** a=%d\n”, a); else printf (”$$$ a=%d\n”, a); }

第四周作业

1、以下程序的输出结果是 main( ) { float x=2,y; if (x<0) y=0; else if (x<5&&!x) y=1/(x+2); else if (x<10) y=1/x; else y=10; printf(”%f\n”,y); }

A、0.500000

B、0.000000

C、0.250000

D、10.000000

2、下面程序的输出是 #include main ( ) { int x=1, y=0, a=0, b=0; switch ( x ) { case 1: switch ( y ) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; } printf ("a=%d,b=%d\n", a, b ); }

A、a=2,b=1

B、a=1,b=1

C、a=1,b=0

D、a=2,b=2

3、下列程序段当a的值为014和0x14时的执行结果分别是 if ( a=0xA | a >12 ) if ( 011&10==a ) printf (”%d!\n”,a); else printf (”Right!%d\n”,a); else printf (”Wrong!%d\n”,a);

4、若下列程序执行后t的值为4,则执行时输入a,b的值范围是 #include ”stdio.h” main( ) { int a, b, s=1, t=1; scanf (”%d, %d”, &a, &b); if (a>0) s+=1; if (a>b) t+=s; else if(a==b) t=5; else t = 2*s; printf (”s=%d, t=%d\n”, s,t); }

第三周:数据计算实现与顺序结构程序设计(二)

2.3 逻辑运算的C程序实现随堂测验

1、表示算术关系12≤x≤y的C语言表达式为 。

A、(12 <= x)|| ( x <= y )

B、(12 != x)| ( x != y )

C、(12 <= x)& ( x <= y )

D、(12 <= x)&& ( x <= y )

2.4 位运算的C程序实现随堂测验

1、假设a和b都是16位二进制整数,它们的值分别是: a: 1010,1001,0101,0111 b: 0110,0000,1111,1011 则c=(a>>2)|~b运算后,c的二进制表示为 。

2.5 几种很个别的运算随堂测验

1、已知int i,a; 执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是 。

A、6

B、12

C、30

D、36

2.6 混合运算及数据类型转换随堂测验

1、已知:char w; int x; float y; double z; 则表达式 w*x+z-y结果的类型是 。

2.7 顺序结构程序实例随堂测验

1、[3]

A、(-b-q)/(2*a)

B、-b-q/2*a

C、(-b-q)/2a

D、(-b-q)/2*a

2、[4]

A、x1,x2

B、x1;x2

C、&x1,&x2

D、&x1;&x2

3、请选择正确的语句来完善程序,完成如下的功能: 求一元二次方程

的根。 #include int main() { float a, b, c, x1, x2, q; printf("Please input a, b, c\n"); scanf("%f,%f,%f",&a,&b, [1] ); q=sqrt( [2] ); x1=(-b+q)/(2*a); x2= [3] ; printf("x1=%.0f, x2=%.0f\n", [4] ); } [1]

A、c

B、&c

C、%c

D、f

4、[2]

A、b*b-4*a*c

B、4*a*c-b*b

C、b^2-4ac

D、4ac-b^2

第五周:循环结构的程序设计(一)

4.1 需要重复执行的程序随堂测验

1、下列程序执行的结果是 a=1;b=2;c=3; while(a

A、1,2,0

B、2,1,0

C、1,2,1

D、2,1,1

4.2 至少要执行一次的循环随堂测验

1、下列程序段 x=3; do{ y = x--; if ( !y ) { printf(”x”); continue; } printf(”#”); } while(1<=x<=2);

A、输出 ##

B、输出 ##x

C、是死循环

D、有语法错

2、指出程序结束之时,j、i、k的值分别是 main( ) { int a=10,b=5,c=5,d=5,i=0,j=0,k=0; for (;a>b;++b) i++; while (a>++c) j++; do k++; while (a>d++); }

A、j=5,i=4,k=6;

B、i=5,j=4,k=6;

C、j=6,i=5,k=7;

D、j=6,i=6,k=6;

4.3 已知循环次数用for语句随堂测验

1、下面程序的功能是计算1-3+5-7+ …… -99+101的值。 ① main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf(”%d\n”,s}; }

A、t = i * t

B、t = i * (t+1)

C、t = (i+1)* t

D、t = (i-1) * t

2、②

A、t = s

B、t = -s

C、t = s > 0 ? -1 : 1

D、t = s < 0 ? -1 : 1

3、for语句的三个表达式都是必须的。

4.4 循环控制——简单循环应用随堂测验

1、②

A、x <= amin

B、x > amin

C、x < amin

D、x >= amin

2、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 ① main() { float x,amax,amin; scanf(”%f”,&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf(”%f”,&x); } printf(”\namax=%f\namin=%f\n”,amax,amin); }

A、x >= 0

B、x <= 0

C、x > 0

D、x < 0

第六周:循环结构的程序设计(二)

4.5 循环的嵌套随堂测验

1、下面程序的输出结果是 #include int main( ) { int i,j; float s; for(i=6;i>4;i--) {s=0.0; for(j=i;j>3;j--)s=s+i*j; } printf(”%f\n”,s); }

A、135.000000

B、90.000000

C、45.000000

D、60.000000

4.6 break与continue随堂测验

1、下列说法中正确的是

A、break 可以用在任何选择和循环结构与居中

B、break 可以用在switch结构和任何循环结构中

C、continue可以用在switch结构和任何循环结构中

D、continue的功能是结束当前所在的循环

第六周作业

1、假定从键盘上输入“3.6,2.4”,下面程序的输出是____ #include main() { float x,y,z; scanf(”%f,%f”,&x,&y); z=x/y; while(1) { if(fabs(z)>1.0) { x=y; y=z; z=x/y; } else break; } printf(”%f\n”,y); } 注:fabs()是浮点数绝对值函数。

A、1.600000

B、1.500000

C、2.000000

D、2.400000

2、下面程序的输出结果是____ main() { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j

A、x=4

B、x=8

C、x=6

D、x=12

3、求取满足式

的n,正确的语句是____

A、for(i=1,s=0;(s=s+i*i)<=1000;n=i++)

B、for(i=1,s=0;(s=s+i*i)<=1000;n=++i)

C、for(i=1,s=0;(s=s+i*++i)<=1000;n=i)

D、for(i=1,s=0;(s=s+i*i++)<=1000;n=i)

4、下面的for语句 for(x=0,y=10;(y>0)&&(x<4);x++,y-- )

A、循环执行4次

B、是无限循环

C、循环次数不定

D、循环执行3次

5、已知int i=1; 执行语句while (i++<4) ;后,变量i的值为

A、5

B、3

C、4

D、6

6、下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。(答案以① ② ③ 的形式提交,如① a ② b ③ c) main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; ① ; while( ② ) { k*=m%10; s+=m%10; ③ ; } if(k>s) printf(”%d”,n); } }

第七周:数组(一)

5.2 一维数组的定义和引用随堂测验

1、下面程序的输出结果是____。 #include main( ) { int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf(”%d\n”,k); }

A、20

B、21

C、22

D、23

5.2 一维数组的定义和引用随堂测验

1、以下程序的功能:输入30个人的年龄,统计18岁、19岁、……、25岁各有多少人。填空,使程序正确。 main( ) { int i,n,age,a[30]={0}; for(i=0;i<30;i++) { scanf(”%d”,&age); __(1)__; } printf(”age number\n”); for(__(2)__;i++) printf(”%5d %6d\n”,i,a[i]); }

A、(1)for(n=18;n<25;n++) { if (age==n) a[n]++; } (2)i=18;i<=25

B、(1)for(n=18;n<=25;n++) { if (age==n) a[n]++; } (2)i=18;i<=25

C、(1)for(n=18;n<25;n++) { if (age=n) a[n]++; } (2)i=18;i<=25

D、(1)for(n=18;n<25;n++) { if (age==n) a[n]++; } (2)i=18;i<25

5.2 一维数组的定义和引用随堂测验

1、以下程序的功能: 在给定数组中查找某个数,若找到,则输出该数在数组中的位置,否则输出“can not found!”。填空,使程序正确。 main( ) { int i,n,a[8]={25,21,57,34,12,9,4,44}; scanf(”%d”,&n); for(i=0;i<8;i++) if(n==a[i]) { printf(”The index is %d\n”,i); __(1)__ ; } if(__(2)__) printf(”can not found!\n”); }

A、(1) end (2) i==8

B、(1) break (2) i==0

C、(1) break (2) i==8

D、(1) end (2) i==0

第八周:数组(二)

5.6 二维数组的输入输出随堂测验

1、若有说明: int a[ ][4];则a[i][j]前有____个元素。

A、j*4+i

B、i*4+j

C、i*4+j-1

D、i*4+j+1

2、以下正确的数组定义语句是____。

A、int y[1][4] = {1,2,3,4,5};

B、float x[3][ ] = {{1},{2},{3}};

C、long s[2][3] = {{1},{1,2},{1,2,3}};

D、double t[ ][3] = {0};

5.7 二维数组的应用‍随堂测验

1、求出如下所示矩阵中各行元素之和,并以矩阵形式输出原矩阵及相应行元素之和。请填空,使程序正确。

#include "stdio.h" int main( ) { int i,j; static int a[3][4]={{3,5,6,0},{2,1,4,0},{8,7,1,0}}; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][3]+= __(1)__; for(i=0;i<3;i++) for( _(2)___ ) { printf(”%3d”,a[i][j]); if( _(3)___ ) printf( __(4)__ );} }

5.8 二维字符数组随堂测验

1、以下程序的输出是 ___。 main( ) {char a[2][5]={”6937”,”8254”}; int i,j,s=0; for ( i = 0; i < 2; i++ ) for ( j = 0; a[i][j]>’0’ && a[i][j]<=’9’; j+=2 ) s=10*s+a[i][j]-’0’; printf(”s=%d\n”,s); }

A、6385

B、69825

C、63825

D、693825

2、以下程序的功能:输入10个字符串,找出每个字符串的最大字符,并依次存入一维数组中,然后输出该一维数组。请填空使程序正确。 #include ”stdio.h” main( ) { int j,k; char a[10][80],b[10]; for(j=0;j<10;j++) gets(a[i]); for(j=0,j<10;j++) { _(1)___; for(k=1;a[j][k]!=’\0’;k++) if(b[j]

5.9 数组综合应用随堂测验

1、有一名室内装潢工程队的配料员,他很擅长采用“之”字型的方式铺大理石地砖,图案如下: 1 2 6 7 15 3 5 8 14 16 4 9 13 17 22 10 12 18 21 23 11 19 20 24 25 以下是生成这样图形的程序,请帮助补充完整: #include "stdio.h" int main() { int a[10][10],s=0,n,i=1,j=1,t=0; scanf("%d",&n); while (i1) for(i=1;i<=n;i++) {printf("%2d",a[i-1][0]); for(j=2;j<=n;j++) printf("%3d",a[i-1][j-1]); ___(2)____;} else printf("1\n"); return 0; }

期末考试单选题

《C语言程序设计(上)》期末试卷单选题

1、为判断char型变量m是否是数字,可以使用下列表达式( )进行判断。

A、'0'<=m && m<='9'

B、0<=m && m<=9

C、"0"<=m && m<="9"

D、0<=m || m<=9

2、下列说法中正确的是( )

A、break 能结束循环,而continue只能结束本次循环开始下次循环

B、break 语句用在switch 语句中,而 continue 用在循环语句中

C、break 语句用在循环语句中,而 continue 用在 switch 语句中

D、continue 能结束循环,而 break 只能结束本次循环

3、下面有关for 循环的正确描述是( )

A、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

B、for 循环必须用于循环次数已经确定的情况

C、for 循环是先执行循环体语句,后判断表达式

D、for 循环中,不能用break 语句跳出循环体

4、温度华氏和摄氏的关系是: C=5/9×(℉-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是( )。

A、C=5*(F-32)/9

B、C=5/9(F-32)

C、C=5/9*(F-32)

D、三个表达式都正确

5、已知 int a[3][2]={3,2,1};则表达式“a[0][0]/a[0][1]/a[0][2]”的值是( )

A、1

B、0.166667

C、0

D、错误的表达式

6、错误的转义字符是( )

A、’\81’

B、’\\’

C、’\’’

D、’\0’

7、有变量定义int a;float c;下面输入语句不能正确赋值的是( )

A、scanf("%f %d",a, c)

B、scanf("%d,%f", &a, &c)

C、scanf("x=%d, c=%f", &a, &c)

D、scanf("%d%f", &a, &c)

8、表达式 !(x>0||y>0) 等价于( )

A、!(x>0)&&!(y>0)

B、!x>0||!y>0

C、!(x>0)||!(y>0)

D、!x>0&&!y>0

9、已知int x=0,y=10;则下列循环语句中可能死循环的一句是( )

A、do x+=2;while(x=y);

B、while(x=y) y--;

C、while(0) if(y--) break;

D、do x--; while(x==0);

10、若已定义x为int类型,y为float型,则表达式:x=2,x+5,y=x+1/4的值是( )

A、2.0

B、2.25

C、7

D、7.25

11、对于强制类型转换,正确的说法是( )

A、对于进行强制类型转换的变量,变量本身的数据类型不变

B、对于进行强制类型转换的变量,按照转换后的类型进行保存

C、对于进行强制类型转换的变量,变量本身的数据类型和运算时的类型都改变

D、对于进行强制类型转换的变量,变量本身的数据类型和运算时的类型都不改变

12、使用语句scanf(”x=%f,y=%f”,&x,&y);输入变量x、y的值(□代表空格),正确的输入是( )。

A、x=1.25,y=2.4

B、1.25,2.4

C、1.25□2.4

D、x=1.25□y=2.4

13、运算符有优先级,在C语言中关于运算符优先级的叙述中正确的是( )

A、算术运算符高于关系运算符,关系运算符高于逻辑运算符

B、逻辑运算符高于算术运算符,算术运算符高于关系运算符

C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符

D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符

14、下面关于字符串的说明中,错误的是( )

A、char str[7]="FORTRAN";

B、char str[ ]="FORTRAN";

C、char *str ="FORTRAN";

D、char str[ ]= {’F’, ’O’, ’R’, ’T’, ’R’, ’A’, ’N’,’\0’};

15、已知int j;执行语句j=(a=3*5,a*4),a+15;后,变量j的值是( )

A、30

B、不确定

C、15

D、60

16、语句 while(!x)中括号内的条件表达式可改写为( )

A、x!=0

B、x==0

C、x!=1

D、~x

17、二维数组a有 M行N列,则在a[i][j]之前的元素个数为( )

A、i*N+j

B、j*M+i

C、i*N+j-1

D、j*M+i-1

18、把字符串“China bit”输入到字符数组a中的正确操作是( )

A、gets(a)

B、scanf(“%s”,a)

C、scanf(“%s”,&a)

D、getchar(a)

19、有int x,y;则以下for语句: for(x=0,y=10;(y>0)&&(x<4);x++,y--); 其循环执行的次数是( )

A、循环执行4次

B、无限次

C、循环次数不定

D、循环执行3次

20、以下标识符中,可以作为合法的C用户定义标识符的是( )

A、_if

B、6answer

C、b/et

D、unsigned

21、下列定义数组的语句中正确的是( )

A、#define size 10 char str1[size],str2[size+2];

B、char str[];

C、int num['10'];

D、int n=5; int a[n][n+2];

22、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。

A、必须为字母或下划线

B、必须为字母

C、必须为下划线

D、可以是字母,数字和下划线中任一字符

23、已知 int i;float f;正确的语句是( )。

A、(int)f%i

B、(int f)%i

C、int(f)%i

D、int(f%i)

24、表达式 ’A’+’=’的值的数据类型是( )

A、int

B、char

C、short

D、以上三个都正确

25、对二维数组的正确说明是( )

A、int a[][3]={1,2,3,4,5,6};

B、int a[][]={1,2,3,4,5,6};

C、int a[2][]={1,2,3,4,5,6};

D、int a[2,3]={1,2,3,4,5,6};

26、和下面条件语句等价的语句是( ) if(x==0) x=a; else x=b;

A、x?b:a;

B、x!=0?a:b;

C、x==0?b:a;

D、x?a:b;

27、已知 int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )

A、1

B、0

C、2

D、无限次

期末考试程序补全题(一)

程序设计补全题(一)

1、下面程序的功能是输出1到100之间数位上的数的乘积大于和的数。例如数字26,数位上数字的乘积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 【 ① 】 ; while( 【 ② 】 ) { k*=m%10; s+=m%10; 【 ③】 ; } if(k>s) printf(”%d”,n); } } 【③】:

A、m=m/10

B、m=m%10

C、n=n%10

D、n=n/10

2、下面程序的功能是输出1到100之间数位上的数的乘积大于和的数。例如数字26,数位上数字的乘积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 【 ① 】 ; while( 【 ② 】 ) { k*=m%10; s+=m%10; 【 ③ 】 ; } if(k>s) printf(”%d”,n); } } 【②】:

A、m>0

B、m<0

C、m=0

D、m==0

3、下面程序的功能是输出1到100之间数位上的数的乘积大于和的数。例如数字26,数位上数字的乘积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; 【 ① 】 ; while( 【 ② 】 ) { k*=m%10; s+=m%10; 【 ③ 】 ; } if(k>s) printf(”%d”,n); } } 【①】:

A、m=n

B、m==n

C、(不填)

D、n=m

期末考试程序补全题(二)

期末考试程序补全题(二)

1、下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中。字符串a已排好序。 #include main() { char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for(k=0;s[k]!= ’\0’;k++ ) { j=0; while(s[k]>=a[j] && a[j]!= ’\0’ ) j++; for( 【 ① 】 ) 【 ② 】 ; a[j]=s[k]; } puts(a); } 【①】

A、i=strlen(a);i>=j;i--

B、i=0;i

C、i=strlen(s)+1;i>0;i--

D、i=0;i

2、下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中。字符串a已排好序。 #include main() { char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for(k=0;s[k]!= ’\0’;k++ ) { j=0; while(s[k]>=a[j] && a[j]!= ’\0’ ) j++; for( 【 ① 】 ) 【 ② 】 ; a[j]=s[k]; } puts(a); } 【②】

A、a[i+1]=a[i];

B、a[i]=a[i+1]

C、a[i]=a[k]

D、a[j]=[i]

3、下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中。字符串a已排好序。 #include main() { char a[20]="cehiknqtw"; char s[]="fbla"; int i,k,j; for(k=0;s[k]!= ’\0’;k++ ) { j=0; while(s[k]>=a[j] && a[j]!= ’\0’ ) j++; for( 【 ① 】 ) 【 ② 】 ; a[j]=s[k]; } puts(a); } 【②】

A、a[i+1]=a[i];

B、a[i]=a[i+1]

C、a[i]=a[k]

D、a[j]=[i]

期末考试程序阅读题

《C语言程序设计》期末考试程序阅读题

1、程序片断如下: int i; if(i=0) if(i<1) printf("YES"); else printf("NO"); 执行程序后屏幕输出是( )

A、没有输出

B、YES

C、NO

D、以上三种都不对

2、下面程序的输出是。 #include "stdio.h" main() { int a,b; a=-10; b=-3; printf("%d\n",a-=b+++1); }

A、-8

B、-10

C、-9

D、-7

3、下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。 main() { int i,j; for(i=0;i<=9;i++) { j=i*10+6; if( ) countinue; printf(”%d”,j); } }

A、j%3

B、j/3

C、(j/3)

D、!(j%3)

4、下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数. main() { int i,j,k,count=0; for(i=1;i<=9;i++) for(j=0;j<=9;j++) if( i==j ) continue; else for(k=0;k<=9;k++) if( ) count++; printf(”%d”,count); } 请把程序补充完整.

A、k!=i&&k!=j

B、k==i&&k==j

C、k!=i&&k==j

D、k==i&&k!=j

5、下面程序的输出结果是( ) main( ) { int a=1,i=a+1; do { a++ ; }while( !i++ > 3); printf(”%d\n”,a); }

A、2

B、1

C、3

D、4

6、如定义:int i=1,j=0; 以下语句执行后其结果是______。 while(i) switch(i) { case 1: i+=1;j++; break; case 2: i+=2;j++; break; case 3: i+=3;j++; break; default: i--;j++; break; }

A、死循环

B、j=3

C、j=2

D、j=1

7、求取满足式

的n,正确的语句是( )

A、for(i=1,s=0;(s=s+i*i)<=1000;n=i++);

B、for(i=1,s=0;(s=s+i*i)<=1000;n=++i);

C、for(i=1,s=0;(s=s+++i*i)<=1000;n=i);

D、for(i=1,s=0;(s=s+i*i++)<=1000;n=i);

8、printf(%10.5f%10.5f%10.5f\n",1.0+2.0,5.0/2,-2.0*4); 可供选择的运行结果:( )

A、□□□3.00000□□□□2.50000□□□-8.00000

B、□□□3.00000□□□2.50000□□-8.00000

C、□□□3.00000, □□2.50000, □-8.00000

D、3.0□2.5□-8.0

9、假设N>5 for(i=0;i

A、3

B、1

C、2

D、4

10、从键盘上输入“446755”时,下面程序的输出是( ) #include main( ) { int c; while((c=getchar())!=’\n’) switch(c -’2’) { case 0: case 1: putchar(c+4); case 2: putchar(c+4);break; case 3: putchar(c+3); default: putchar(c+2);break; } printf(”\n”); }

A、88898787

B、668966

C、888988

D、66898787

11、下面程序的输出是( ) main( ) { int num=0; while(num<=2) { num++; printf(”%d\n”,num); } }

A、1 2 3

B、1

C、1 2

D、1 2 3 4

12、下面程序的输出是( ) int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; }

A、a=2,b=1

B、a=1,b=1

C、a=1,b=0

D、a=2,b=2

13、#define CUBE(x) (x*x*x) main( ) { int i=4; printf(“\n%d”,CUBE( )); }

A、i

B、i*i*i

C、x*x*x

D、x

14、下面程序的功能是根据近似公式:

,求s值。 #include main { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; printf(“%d”,s ); }

A、1.0/(n*n)

B、1.0/ n*n

C、1/(n*n)

D、1/n*n

15、以下程序的输出结果是( ) main( ) { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf(”d=%d\n”,d); }

A、d=20

B、d=10

C、d=15

D、d=25

16、若有说明 int x,y;不能实现以下函数关系的程序段是( )

A、y=-1; if (x!=0) if(x>0) y=1; else y=0;

B、if (x<0) y=-1; else if(x==0) y=0; else y=1;

C、y=0; if (x>=0) { if (x>0) y=1; } else y=-1;

D、if (x>=0) if(x>0) y=1; else y=0; else y=-1;

17、已知char ch;执行语句“while((ch=getchar())!=’\n’);”时输入:abcde后,变量ch的值是( )。

A、ch=\0

B、ch=’e’

C、ch=’\n’

D、ch=’0’

18、程序片断如下: int i=1; while(i++<10); 程序执行后, i的值是( )

A、10

B、9

C、11

D、12

19、程序如下: main() { int i,s; for(i=1,s=1;i<=5;s=s*i,i++); } 程序执行后, s的值是( )

A、120

B、6

C、24

D、720

20、阅读程序,写出程序的输出结果。 #include main( ) { char i, j; for(i='0',j='9'; i

A、0918273645

B、01234567890

C、9876543210

D、以上三个答案均不对

期末考试程序补全题(三)

期末考试程序补全题(三)

1、以下程序实现了将二维数组(3×3)转置的操作。请补全代码。(转置, 即行列互换) #define N 3 int array[N][N]={1,2,3, 4,5,6, 7,8,9}; int main() { int i,j; printf("给定的数组是:\n"); for(i=0;i

A、j=0

B、j<=i

C、j=1

D、j=i-1

2、以下程序实现了将二维数组(3×3)转置的操作。请补全代码。(转置, 即行列互换) #define N 3 int array[N][N]={1,2,3, 4,5,6, 7,8,9}; int main() { int i,j; printf("给定的数组是:\n"); for(i=0;i

A、j++

B、i++

C、i=j++

D、j=i++

3、以下程序实现了将二维数组(3×3)转置的操作。请补全代码。(转置, 即行列互换) #define N 3 int array[N][N]={1,2,3, 4,5,6, 7,8,9}; int main() { int i,j; printf("给定的数组是:\n"); for(i=0;i

A、i

B、i<=N

C、i

D、i<=N

4、以下程序实现了将二维数组(3×3)转置的操作。请补全代码。(转置, 即行列互换) #define N 3 int array[N][N]={1,2,3, 4,5,6, 7,8,9}; int main() { int i,j; printf("给定的数组是:\n"); for(i=0;i

A、printf("\n");

B、printf("\n"),

C、printf(\n");

D、printf("/n");

5、以下程序实现了将二维数组(3×3)转置的操作。请补全代码。(转置, 即行列互换) #define N 3 int array[N][N]={1,2,3, 4,5,6, 7,8,9}; int main() { int i,j; printf("给定的数组是:\n"); for(i=0;i

A、array[j][i]=t

B、array[i][j]=t

C、array[i][i]=t

D、array[j][j]=t

c语言程序中的算数表达式X Y-Z,C语言程序设计-中国大学mooc-题库零氪相关推荐

  1. c语言程序中的算数表达式X Y-Z,C语言程序设计实验教程习题1~10.docx

    C语言程序设计实验教程习题1~10 第一章一.选择题1.最早开发C语言是为了编写下面那一种操作系统( C) A .Windows B.DOS C.UNIX D.Linux2.下面哪一项不属于C语言的特 ...

  2. c语言只需编译 不需连接,C语言程序设计-中国大学mooc

    C语言程序设计-中国大学mooc http://carrottt.blog.bokee.net    2020-6-9 转载自网课答案 (www.daanplus.com) : 完整答案请关注公众号[ ...

  3. c语言程序中的函数的函数名,一个C语言程序是由一个或多个函数组成的,其中必须包含一个函数,函数名是mian。...

    解析: [解析题]绿茶的茶水比一般是1:50. [解析题]以下程序的输出结果是 ________ . struct HAR { int x;int y;struct HAR *p;}h[2];int ...

  4. c语言程序中的注释必须单独占一行,C语言习题第一章

    以下叙述中错误的是() A.一个C语言程序只能有一个主函数 B.C语言编写的每个函数都可以进行独立的编译并执行 C.C语言编写的函数都可以作为一个独立的源程序文件 D.C语言编写的函数源程序,其文件名 ...

  5. java求100以内的a2 b2=c2,Java语言程序设计Ⅱ-中国大学mooc-试题题目及答案

    如果的三内角的余弦分别等于的三个内角的正弦,则是_ ____三角形 在△ABC中,角A,B,C所对的边分别是,,, ,则______ _____ 在△中,如果三边依次成等比数列,那么角的取值范围是. ...

  6. linux 文件在哪个硬盘,中国大学MOOC: 在Linux文件系统中,文件名也存放在磁盘上,存放于磁盘的下述哪个区域 答案:文件存储区...

    相关问题 中国大学MOOC:"唐蕃会盟碑又称为甥舅会盟碑,对吗?"; 中国大学MOOC:"If students plan to study in a second la ...

  7. 在c语言程序中 对文件进行操作首先要,《C语言程序设计》试题八及答案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  8. 在c语言程序中无论是整数还是实数,C语言基础题及参考答案

    C 第一单元程序设计和C语言 一.选择题 1.C语言的基本构成单位是: A . A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行. A. 主过程 B ...

  9. 在C语言程序中 当调用函数时,c语言程序设计第2版) 教学课件 作者 梅创社试题库 期末试卷一.docx...

    期末试卷一 一.单项选择题(每题1分,共45分)1.在计算机系统中,可以执行的程序是( )A.源程序 B.汇编语言程序C.机器语言程序 D.ASCII码2.C语言程序的基本单位是( )A.程序行 B. ...

最新文章

  1. Git远程:分支的upstream
  2. mindspore学习之使用obsutil工具向桶中上传数据
  3. Java中加二怎么打_Java(一)(二)
  4. 本题要求实现一个用选择法对整数数组进行简单排序的函数。_通俗易懂讲 Python 算法:快速排序...
  5. ARP地址解析协议原理
  6. Java基础面试题,java初级面试笔试题
  7. Java sychronized关键字总结(二)
  8. JVisualVM 简介
  9. html5 LivePlayer 实时播放rtmp
  10. 如何对工厂设备进行精准化管理?
  11. 计算机毕业设计(38)java毕设作品之餐厅座位预订系统
  12. 如何判断一家创业公司是否值得加入?
  13. Bootstrap3动态添加的元素tooltip不生效
  14. 扫地机器人石头爬坡_已经入手吐槽扫地机器人地宝石头t7和t7pro区别是什么?哪个好?内幕分析爆料...
  15. MySQL调优篇:单机数据库如何在高并发场景下健步如飞?
  16. 2017算法实习生应聘经验总结
  17. IPTV系统云桌面管理:开机广告+三方apk管理+图文介绍
  18. 好消息!华为EUV光刻新专利公开
  19. Spark行动算子(Action)--reduce算子
  20. java redis 过期_Redis中的键值过期操作

热门文章

  1. 网络用语emo是什么意思_emo解释_it人常用语
  2. 频率信号转电压或电流信号隔离变送器0-1KHz /0-5KHz /0-10KHz转0-2.5V/0-5V/0-20mA
  3. html翻牌动画效果,css实现旋转翻牌动画效果
  4. 二级计算机考生报名登记表,2020年9月计算机二级报名流程
  5. mysql级联distinct_mysql的distinct用法
  6. Pandas中loc和iloc函数用法详解(源码+实例)
  7. java jmap_Java性能测试之jmap
  8. CDH初始化scm数据库
  9. 【Python3爬虫】我爬取了七万条弹幕,看看RNG和SKT打得怎么样
  10. 暨南大学第一任计算机学院院长,暨南大学信息学院院长姚国祥天堂纪念馆