0.081

五煦查题

快速找到你需要的那道考题与答案

超星C语言程序设计期末答案(学习通2023完整答案)

25 min read

超星C语言程序设计期末答案(学习通2023完整答案)

2.4项目一 测试

1、超星【单选题】一个C程序是语言程由()的。
A、序设习通一个主程序和若干子程序组成
B、计期一个或多个函数组成
C、末答若干过程组成
D、案学若干子程序组成

2、完整【单选题】C语言程序的答案基本单位是()
A、程序行
B、超星语句
C、语言程函数
D、序设习通字符

3、计期【单选题】下列说法中,末答错误的案学是()
A、每个语句必须独占一行,完整语句的最后可以是一个分号,也可以是一个回车换行符号
B、每个函数都有一个函数头和一个函数体,主函数也不例外
C、主函数只能调用用户函数或系统函数,用户函数可以相互调用
D、程序是由若干个函数组成的,但是必须有、而且只能有一个主函数

4、【单选题】以下说法中正确的是()
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分

5、【单选题】C编译程序是()
A、C程序的机器语言版本
B、一组机器语言指令
C、将C源程序编译成目标程序
D、由制造厂家提供的一套应用软件

6、【填空题】C语言源程序文件的后缀是________,经过编译后生成文件的后缀是________,经过链接后生成文件的后缀是________。

7、【填空题】C语言的关键字都用________{ 大写或小写}。

8、【填空题】一个函数由两部分组成,它们是_______、_______。

3.4项目二 测试

1、【单选题】下列可以正确表示字符型常量的是( )
A、“a”
B、‘\t’
C、”\n”
D、‘297’

2、【单选题】设有以下变量定义,并已赋确定的值: - char c;int i;float f;double d; 则表达式c+i+f/d值的数据类型为( )
A、char
B、int
C、float
D、double

3、【单选题】下列不能作为C语言常量的是( )
A、0xAB
B、31.1415E-2
C、1E2
D、0519

4、【单选题】设有int x=8;则表达式++x/3的值是( )
A、2
B、3
C、2.6
D、0

5、【单选题】以下选项中,合法的实型常数是( )
A、5E2.0
B、E_3
C、2E0
D、1.3E

6、【单选题】下列符号中,不属于转义字符的是()。
A、\\
B、\0xAA
C、\t
D、\0

7、【单选题】已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为()。
A、’D’
B、68
C、不确定的值
D、’C’

8、【单选题】在C语言中,要求操作数必须是整型的运算符是()。
A、/
B、++
C、*=
D、%

9、【单选题】若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是()。
A、2.500000
B、2.750000
C、3.500000
D、0.000000

10、【单选题】设x、y均为float型变量,则不正确的赋值语句是()。
A、++x;
B、x*=y-2;
C、y=(x%3)/10;
D、x=y=0;

11、【单选题】以下程序段的输出结果是()。 int a=12345; printf("%2d\n", a);
A、12
B、34
C、12345
D、提示出错、无结果

12、【单选题】若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为()。
A、scanf("%d%lx,%le",&x,&y,&z);
B、scanf("%2d%*d%lf",&x,&z);
C、scanf("%x%*d%o",&x,&y);
D、scanf("%x%o%6.2f",&x,&y,&z);

13、【单选题】有如下程序段: int x1,x2; char y1,y2; scanf("%d%c%d%c",&x1,&y1,&x2,&y2); 若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:└┘代表空格)
A、10A└┘20B
B、10└┘A20B
C、10└┘A└┘20└┘B
D、10A20└┘B

14、【单选题】有如下程序段,对应正确的数据输入是()。 float x,y; scanf("%f%f",&x,&y); printf("a=%f,b=%f",x,y);
A、2.04<回车> 5.67<回车>
B、2.04,5.67<回车>
C、A=2.04,B=5.67<回车>
D、2.055.67<回车>

15、【单选题】以下程序的输出结果是()。(注:└┘代表空格) #include<stdio.h> int main() { printf("\nstring1=%15s*","programming"); printf("\nstring2=%-5s*","boy"); printf("string3=%2s*","girl"); return 0; }
A、string1=programming└┘└┘└┘└┘* string2=boy* string3=gi*
B、string1=└┘└┘└┘└┘programming* string2=boy└┘└┘*string3=gi*
C、string1=programming└┘└┘└┘└┘* string2=└┘└┘boy*string3=girl*
D、string1=└┘└┘└┘└┘programming* string2=boy└┘└┘*string3=girl*

16、【单选题】阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()。 #include <stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); printf("a+b=%d\n",a+b); return 0; }
A、a+b=46
B、有语法错误
C、a+b=12
D、不确定值

17、【单选题】设有定义:int x=2;以下表达式中,值不为6的是()。
A、2*x,x+=2
B、x++,2*x
C、x*=(1+x)
D、x*=x+1

18、【单选题】在C语言中,数字019是一个( )
A、八进制数
B、十六进制数
C、十进制数
D、非法数

19、【单选题】C语言中关于运算符优先级的正确叙述是( )
A、逻辑运算符高于算术运算符,算术运算符高于关系运算符
B、算术运算符高于关系运算符,关系运算符高于逻辑运算符
C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符

20、【单选题】下列标识符中不合法的是( )
A、_abcd
B、_double
C、x119
D、main

21、【单选题】已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是()。
A、字符A
B、字符a
C、字符c
D、非法的常量

22、【填空题】C语言中要求操作数必须是整数的运算符是________

23、【填空题】有以下程序: #include <stdio.h> int main() { char c1,c2; c1='A'+'8'-'4'; c2='A'+'8'-'5'; printf("%c,%d\n",c1,c2); return 0; } 已知字母A的ASCII码为65,程序运行后的输出结果是()。

24、【填空题】在C语言中,整数可用________、________进制数和________进制数3种数制表示。

25、【填空题】有以下程序: #include <stdio.h> int main() { int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是()。

26、【填空题】有以下程序: #include<stdio.h> int main() { char a,b,c,d; scanf("%c%c",&a,&b); c=getchar(); d=getchar(); printf("%c%c%c%c\n",a,b,c,d); return 0; } 当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符) 12<CR> 34<CR> 则输出结果是( )。

4.4项目三 测试

1、【单选题】若有int a,b,t;下面不能实现将a和b中的数据进行交换的是()
A、a=a+b; a=a-b; b=a-b;
B、t=a; a=b; b=t;
C、t=a+b; b=t-b; a=t-a;
D、t=b; b=a; a=t;

2、【单选题】程序的功能是实现从键盘输入x的值,当x的值大于3并且x的值不等于10时,输出x变量的值,其他情况不做任何操作:( ) #include<stdio.h> int main() { int x; scanf("%d",&x); if(x<=3); _________ printf("%d\n",x); else; return 0; }
A、if(x!=10)
B、else if(x!=10)
C、else if(x==10)
D、else

3、【单选题】若变量c为char类型,能正确判断出c为大写字母的表达式是( )
A、‘A’<=c<=’Z’
B、(c>=’A’)||(c<=’Z’)
C、(’A’<=c)and(’z’>=c)
D、(c>=’A’)&&(c<=’Z’)

4、【单选题】有以下程序: #include<stdio.h> int main() { int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c); return 0; }
A、1,2,3
B、1,3,2
C、1,3,3
D、3,2,1

5、【单选题】以下程序段中,不能实现条件"如果a<b则x=10,否则x=-10"的是( )
A、x=(a>=b)?-10:10
B、if(a<b)x=10; else x=-10;
C、x=-10; if(a<b)x=10;
D、if(a<b)x=10; if(b<a)x=-10;

6、【单选题】以下程序的运行结果是( ) #include<stdio.h> int main() { int a=-5,b=1,c=1; int x=0,y=2,z=0; if(c>0)x=x+y; if(a<=0) { if(b>0) if(c<=0) y=x-y; } else if(c>0) y=x-y; else z=y; printf("%d,%d,%d",x,y,z); return 0; }
A、2,2,0
B、2,2,2
C、0,2,0
D、2,0,2

7、【单选题】两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是( ) #include<stdio.h> int main() { int x; scanf("%d",&x); if(x++>2)printf("%d",x); else printf("%d",x--); return 0; }
A、4和3
B、4和2
C、4和1
D、3和2

8、【单选题】有下面程序,从键盘输入字母H,则输出结果是( ) #include <stdio.h> int main() { char ch; ch=getchar(); switch(ch) { case 'H':printf("Hello!\n"); case 'G':printf("Good morning!\n"); default:printf("Bye_Bye!\n"); } return 0; }
A、Hello!
B、Hello! Good morning!
C、Hello! Good morning! Bye_Bye!
D、Hello! Bye_Bye!

9、【单选题】对于if(表达式)语句,以下叙述正确的是:( )
A、“表达式”的值可以是任意合法的数值
B、在“表达式”中不能出现变量
C、在“表达式”中不能出现常量
D、“表达式”的值必须是逻辑值

10、【单选题】有以下程序: #include<stdio.h> int main() { int x=1,y=0; if(!x)y++; else if(x==0) if(x)y+=2; else y+=3; printf("%d\n",y); return 0; }
A、3
B、2
C、1
D、0

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

12、【单选题】有以下计算公式:y=,若程序已在前面命令行中包含math.h文件,则不能够正确计算上述公式的程序段是( )
A、if(x>=0)y=sqrt(x); else y=sqrt(-x);
B、y=sqrt(x); if(x<0)y=sqrt(-x);
C、if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);
D、y=sqrt(x>=0?x:-x);

13、【单选题】有以下程序 #include<stdio.h> int 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; case 3:a++,b++; } printf("a=%d,b=%d\n",a,b); return 0; } 程序运行的结果是( )
A、a=2,b=2
B、a=2,b=1
C、a=1,b=1
D、a=1,b=0

14、【单选题】若变量a,b,c都为整数,且a=1,b=15,c=0,则表达式a==b>c的值是().
A、0
B、非零
C、“真”
D、1

15、【单选题】以下程序的输出结果是( )。 #include <stdio.h> int main() { int a=1,b; b=a-1; if(b>a-2) printf("%d\n",a); else if(b<a+2) printf("%d\n",b); else printf("%d\n",-a); return 0; }
A、0
B、-1
C、1
D、都不对

16、【单选题】设a、b、c、d、m、n均为整型变量,且a=5,b=7,c=3,d=8,m=2,n=2,则逻辑 表达式(m=a>b)&&(n=c>d)运算后,n的值为( )
A、0
B、1
C、2
D、3

17、【单选题】运行下面的程序: #include <stdio.h> int main() { int a=16,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d\n",m); return 0; } 则输出结果是( )
A、1
B、2
C、3
D、4

18、【单选题】若有以下程序段: int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d\n",a,b,c);
A、程序语法有错
B、3,5,3
C、3,5,5
D、3,5,7

19、【填空题】a为int型变量,判断a既是3的倍数又是7的倍数的表达式是________。

20、【填空题】if(!x)a=3;语句中的!x可以改写为________,使其功能不变。

21、【填空题】判断一个整数n是偶数的表达式是________。

22、【填空题】判断一个字符ch是数字的表达式是_________。

23、【填空题】已知a=3,b=4,则表达式!a+b的值为:__________。

24、【填空题】以下程序段功能是输入一个小写字母,将字母循环移动5个位置后输出。例如:'a'变为'f','w'变为'b',将程序补充完整。 #include <stdio.h> int main() { char c; c=getchar(); if(c>='a'&&______) c=c+5; else _________ putchar(c); return 0; }

25、【填空题】以下程序功能是:输入3个整数,按照从小到大的顺序进行输出,将程序补充完整。 #include<stdio.h> int main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(_______){ t=a;a=b;b=t;} if(a>c){ _____________} if(_____){ t=b;b=c;c=t;} printf("%d %d %d",a,b,c); return 0; }

26、【填空题】以下程序运行后的输出结果是_________。 #include <stdio.h> int main() { int a=-1,b=1; if((++a<0)&&!(b--<0==0)) printf("%d,%d\n",a,b); else printf("%d,%d\n",b,a); return 0; }

27、【填空题】以下程序运行后的输出结果是__________。 #include<stdio.h> int main() { int a=1,b=2,c=3,d=0; if(a==1) if(b!=2) if(c==3)d=1; else d=2; else if(c!=3)d=3; else d=4; else d=5; printf("%d\n",d); return 0; }

28、【填空题】以下程序运行后的输出结果是______________。 #include<stdio.h> int 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; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); return 0; } }

5.4项目四 测试

1、【单选题】语句while(!e);中的条件!e等价于( )。
A、e==0
B、e!=1
C、e!=0
D、~e

2、【单选题】C语言中while和do-while循环的主要区别是( )。
A、do-while循环体至少无条件执行一次
B、while的循环控制条件比do-while的控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句

3、【单选题】设有程序段int k=10;while(k==0)k=k-1;则下面描述中正确的事( )。
A、while循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次

4、【单选题】若i和k都是int类型变量,有一下for语句: for(i=0,k=-1;k=1;k++)printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( )。
A、循环体执行两次
B、循环体执行一次
C、循环体一次也不执行
D、构成无限循环

5、【单选题】for(i=0;i<=15;i++)printf("%d",i);循环结束后,i的值为( )。
A、14
B、15
C、16
D、17

6、【单选题】下面程序的结果是( ) #include<stdio.h> int main() { int x=1; while(x<20) { x=x*x; x=x+1; } printf("%d",x); return 0; }
A、1
B、20
C、25
D、26

7、【单选题】以下叙述中正确的是( )
A、只有适当地修改代码,就可以将do-while与while相互转换
B、对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C、对于“for(表达式1;表达式2;表达式3)循环体”,只有个别情况下才能转换成while语句
D、如果根据算法需要使用无限循环(即通常所称的"死循环"),则只能使用while语句

8、【单选题】有一下程序 #include<stdio.h> int main() { int k=5; while(--k) { printf("%d",k-=3); } printf("\n"); return 0; } 执行后的输出结果是
A、1
B、2
C、4
D、死循环

9、【单选题】有以下程序 #include<stdio.h> int main() { int k=5,n=0; do { switch(k) { case 1:case 3:n+=1;k--;break; default:n=0;k--; case 2:case 4:n+=2;k--;break; } printf("%d",n); }while(k>0&&n<5); return 0; } 程序运行后的输出结果是
A、02356
B、0235
C、235
D、2356

10、【单选题】有以下程序: #include<stdio.h> int main() { int n=2,k=0; while(k++&&n++>2); printf("%d%d\n",k,n); return 0; }
A、02
B、13
C、57
D、12

11、【单选题】一下不构成无限循环的语句或语句组是( )。
A、n=0; do { n++;} while(n<=0);
B、n=0; while(1) { n++; }
C、n=10; while(n); { n--; }
D、for(n=0,i=1;;i++) n+=i;

12、【单选题】以下程序段: #include<stdio.h> int main() { int i=5; do { if(i%3==1) if(i%5==2) { printf("*%d",i);break; } i++; }while(i!=0); return 0; } 运行后的输出结果是( )。
A、*7
B、*5
C、*3*5
D、*2*6

13、【单选题】有以下程序: #include<stdio.h> int main() { int y=9; for(;y>0;y--) { if(y%3==0)printf("%d",--y); } return 0; } 运行后的输出结果是( )。
A、741
B、963
C、852
D、875421

14、【单选题】有以下程序: #include<stdio.h> int main() { int x=8; for(;x>0;x--) { if(x%3){ printf("%d,",x--);continue;} printf("%d,",--x); } return 0; } 运行后的输出结果是( )。
A、7,4,2,
B、8,7,5,2
C、9,7,6,4
D、8,5,4,2,

15、【单选题】对于下面两个循环语句,下面的叙述正确的是( )。 (1).while(1); (2)for(;;);
A、(1)(2)都是无限循环
B、(1)是无限循环,(2)错误
C、(1)循环一次,(2)错误
D、(1)(2)都错误

16、【单选题】下列程序段的执行结果为( )。 #include<stdio.h> int main() { int x=3; do { printf("%3d\n",x-=2); }while(!(--x)); getchar(); }
A、1
B、3 0
C、1 -2
D、死循环

17、【单选题】下面的程序的运行结果是( )。 #include<stdio.h> int main() { int y=10; for(;y>0;y--) if(y%3==0) { printf("%d",--y); continue; } getchar(); }
A、741
B、852
C、963
D、875421

18、【单选题】下面程序的输出结果是( )。 #include<stdio.h> int main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>20)break; if(b%3==1) { b+=3; continue; } b=5; } printf("%d,%d",a,b); getchar(); }
A、10
B、9
C、8,22
D、7

19、【单选题】以下程序执行后的输出结果是( )。 #include<stdio.h> int main() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0)break; else i--; } i+=11; a+=i; } printf("%d",a); return 0; }
A、21
B、32
C、33
D、11

20、【单选题】下列程序的输出结果是 ( )。 #include<stdio.h> int main() { int k=0,m=0,i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++)k++;k=k-j; } m=i+j; printf("k=%d,m=%d",k,m); return 0; }
A、k=0,m=3
B、k=0,m=5
C、k=1,m=3
D、k=1,m=5

21、【填空题】下列程序中,判断i>j共执行了________次。 #include<stdio.h> int main() { int i=0,j=10,k=2,s=0; for(;;) { i+=k; if(i>j){ printf("%dn",s);break;} s+=i; } }

22、【填空题】下列程序执行后的输出结果是_________. #include<stdio.h> int main() { int x=15; while(x>10&&x<50) { x++; if(x/3){ x++;break;} else continue; } printf("%d",x); }

23、【填空题】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列的前20项之和。 #include<stdio.h> int main() { int i,n=20; float a=2,b=1,s=0,t; for(i=1;i<=n;i++) { ______; ______; ______; ______; } printf("%f",s); }

24、【填空题】从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请在下列程序中填空。 #include<stdio.h> int main() { float x,max,min; printf("please input scores:"); scanf("%f",&x); max=min=x; while(___1___) { if(___2__)max=x; if(___3__)min=x; scanf("%f",&x); } printf("\nmax=%f\nmin=%f\n",max,min); getchar(); }

25、【填空题】下面的程序段执行时,语句m=i+j执行的次数是多少?__________.m的最终值是多少?_______. { int i,j,m,k=0; for(i=1;i<=5;i++) for(j=5;j>=-5;j=j-2) { m=i+j; k=k+1; } printf("%d,%d",k,m); }

6.5项目五 测试

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

2、【单选题】以下对一维数组a中的所有元素进行正确初始化的是( )。
A、int a[10]=(0,0,0,0);
B、int a[10]={ };
C、int a[]=(0);
D、int a[10]={ 10*2};

3、【单选题】对于所定义的二维数组a[2][3],元素a[1][2]是数组的第( )个元素。
A、3
B、4
C、5
D、6

4、【单选题】若有说明:int a[20];则对a数组元素的正确引用是( )。
A、a[20]
B、a[3.5]
C、a(5)
D、a[10-10]

5、【单选题】若有说明:int a[3][4];则对a数组元素的正确引用是( )。
A、a[2][4]
B、a[1,3]
C、a[1+1][0]
D、a(2)(1)

6、【单选题】以下关于数组的描述正确的是( )。
A、数组的大小是固定的,但可以有不同类型的数组元素
B、数组的大小是可变的,但所有数据元素的类型必须相同
C、数组的大小是固定的,所有数组元素的类型必须相同
D、数组的大小是可变得,可以有不同类型的数组元素

7、【单选题】字符串"I am a student."在存储单元占( )个字符。
A、14
B、15
C、16
D、17

8、【单选题】在执行int a[][3]={ { 1,2},{ 3,4}};语句后,a[1][2]的值是( )。
A、3
B、4
C、0
D、2

9、【单选题】下面程序段的运行结果是( )。 char c[5]={ 'a','b','','c',''}; printf("%s",c);
A、'a''b'
B、ab
C、ab c
D、a,b

10、【单选题】下面程序段的运行结果是( )。 char c[]="\t\v\\\0will\n"; printf("%d",strlen(c));
A、14
B、3
C、9
D、字符串中有非法字符,输出值不确定

11、【单选题】以下程序的输出结果是( )。 #include<stdio.h> int main() { int i,a[10]; int s=0; for(i=0;i<10;i++) a[i]=2*i+1; for(i=0;i<10;i++) s=s+a[i]; printf("%d\n",s); return 0; }
A、20
B、21
C、100
D、101

12、【单选题】以下程序的输出结果是( )。 #include<stdio.h> int main() { int a[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++)a[i][j]=i+j; for(i=0;i<3;i++) for(j=0;j<3;j++)a[i][j]=a[i][j]+i+j; printf("%d\n",a[2][2]); return 0; }
A、4
B、6
C、8
D、值不确定

13、【单选题】下列程序执行后的输出结果是( )。 #include<stdio.h> #include<string.h> int main() { char s[100]; strcpy(s,"I love"); strcat(s,"this program."); s[6]='\0'; puts(s); return 0; }
A、I love this program。
B、I love this
C、I love
D、I lov

14、【单选题】下面能正确地将字符串“C++”进行完整赋值操作的语句是( )。
A、char s[3]={ 'C',‘+’,'+'};
B、char s[]="C++";
C、char s[3]={ "C++"};
D、char s[3];s[0]='C';s[1]='+';s[2]='+';

15、【单选题】以下数组定义中错误的是( )。
A、int x[2][3]={ 1,2,3,4,5,6};
B、int x[][3]=;
C、int x[][3]={ { 1,2,3},{ 4,5,6}};
D、int x[2][3]={ { 1,2},{ 3,4},{ 5,6}};

16、【单选题】设有定义:char s[81];int i=0;以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
A、gets(s);
B、while((s[i++]=getchar())!='\n');s[i]='\0';
C、scanf("%s",s);
D、do{ scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';

17、【单选题】下列定义数组的语句中,正确的是( )。
A、#define N 10 int x[N];
B、int N=10; int x[N];
C、int x[0..10];
D、int x[];

18、【单选题】若有定义语句: char s[10]="1234567\0\0"; 则strlen(s)的值是( )。
A、7
B、8
C、9
D、10

19、【填空题】在C语言中,字符串不存放在一个变量中,而是存放在一个( )中。

20、【填空题】设有int a[3][4]={ { 1},{ 2},{ 3}};则a[1][1]的值为( )。

21、【填空题】字符串“chenjing”占()字节的存储空间。

22、【填空题】下面程序的功能是将字符串a中所有的字符‘a’删除,请填空。 #include<stdio.h> int main() { char a[50]; int i,j; printf("Enter a string:"); gets(a); for(i=j=0;a[i]!='\0';i++) if(a[i]!='a') ________; a[j]='\0'; puts(a); return 0; }

23、【填空题】下面的程序是将array数组按从小到大进行排序,请填空。 #include<stdio.h> int main() { int array[10]; int i,j,temp; printf("input 10 numbers please\n"); for(i=0;i<10;i++) scanf("%d",&array[i]); for(i=0;i<9;i++) for(j=i+1;j<10;j++) if( ) { temp=array[i]; array[i]=array[j]; array[j]=temp; } printf("the sorted 10 numbers:\n"); for(i=0;i<10;i++) printf("%d\t",array[i]); return 0; }

24、【填空题】

25、【填空题】

7.4项目六 测试

1、【单选题】下列函数调用中,不正确的是( )
A、max(a, b);
B、max(3, a+b);
C、max(3, 5);
D、int max(int a,int b);

2、【单选题】执行下列程序后,变量a的值应为( ) int f(int x) { return x+3;} void main( ) { int a=1; while(f(a)<10) a++; }
A、11
B、10
C、9
D、7

3、【单选题】若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
A、数组首地址
B、数组的第一个元素值
C、数组中全部元素的值
D、数组元素的个数

4、【单选题】设函数func的定义形式为: void func(char ch,float x) { ...} 则以下对函数func的调用语句中,正确的是( )
A、func("abc",3.0)
B、t=func(65,65)
C、func('65',10.5)
D、func('A',10.5)

5、【单选题】若有以下调用语句,则正确的fun函数首部是( ) main() { ∶ ∶ int a;float x; ∶ ∶ fun(x,a); ∶ ∶ }
A、void fun(int m,float x)
B、void fun(float a,int x)
C、void fun(int m,float x[])
D、void fun(int x,float a)

6、【单选题】设在主函数中有以下定义和函数调用语句,且fun函数为void类型;正确的fun函数的首部应为( )(要求形参名为b) main() { double s[10][22]; int n; ∶ ∶ fun(s); ∶ ∶ }
A、void fun(double b[22])
B、void fun(double b[][22])
C、void fun(double b[][])
D、void fun(double b[22][])

7、【单选题】以下说法中正确的是( )
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分

8、【单选题】以下函数fun形参的类型是( ) fun(float x) { float y; y=3*x-4; return y; }
A、int
B、不确定
C、void
D、float

9、【单选题】C语言中规定函数的返回值的类型是由( )决定。
A、return语句中的表达式类型所决定
B、调用该函数时的主调用函数类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定的类型所决定

10、【单选题】有以下程序: int f(int n) { if(n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1;i<3;i++) j+=f(i); printf("%d\n",j); }程序运行后的输出结果是( )
A、4
B、3
C、2
D、1

11、【单选题】在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定

12、【单选题】请读程序: #include <stdio.h> #include <string.h> void fun(char w[],int m) { char s; int i,j; i=0;j=m-1; while (i<j) { s=w[i];w[i]=w[j]; w[j]=s;i++;j--;}} main() { char a[]="ABCDEFG"; fun(a,4); puts(a);}上面程序的输出结果是()
A、GFEDCBA
B、AGADAGA
C、AGAAGAG
D、DCBAEFG

13、【单选题】有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return (2); } main() { printf("%d\n",fib(3)); } 该程序的输出结果是()
A、2
B、4
C、6
D、8

14、【单选题】分析以下程序,程序的功能是() #include <stdio.h> f(int b[], int n) { int i, r=1; for(i=0; i<=n; i++) r=r*b[i]; return r; } main() { int x, a[]={ 2,3,4,5,6,7,8,9}; x=f(a, 3); printf("%d\n",x); }
A、求数组a中的所有元素之和
B、求数组a中的所有元素之积
C、求数组a中部分元素之和
D、求数组a中部分元素之积

15、【单选题】以下程序的功能是:求正整数n的各位之积,在划线处应填入() #include <stdio.h> #include <stdlib.h> long func(long m) { long k=1; do { k*=m%10; m/=10; } while(); return (k); } main( ) { long n; scanf("%ld",&n); printf("%ld\n",func(n)); }
A、m!=0
B、m%10==0
C、m==0
D、m>=0

16、【填空题】若在程序中用到"strlen()"函数时,应在程序开头写上包含命令#include< >

17、【填空题】以下程序的功能: 计算并输出500以内最大的10个能被 13或17整除的自然数之和。 #include <conio.h> #include <stdio.h> int fun(____ ) { int m=0, mc=0, j, n; while (k >= 2 && ____) { if (k%13 == 0 || ____) { m = m+ k; mc++; } k--; } return m; } main ( ) { printf("%d\n", fun (500)); }

18、【填空题】给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。 A1=1,A2=1/(1+A1) , A3=1/(1+A2) ,…,An=1/(1+A(n-1)) 例如,若n=10,则应输出0.617977。 #include <stdio.h> #include <stdlib.h> #include <conio.h> float fun(int n) { float A=1; int i; for(【 1 】;i<=n;i++) A=【 2 】; return A; } int main() { int n; system("CLS"); printf("\nPlease enter n:"); scanf("%d",&n); printf("%d=%lf\n",n, 【 3 】); return 0; }

19、【填空题】下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。 y=1/(100×100)+1/(200×200)+1/(300×300)+…+1/(m×m) 例如,若m=2000,则应输出0.000160。 #include <stdio.h> #include <stdlib.h> #include <conio.h> double fun(int m) { double y=0,d; int i; for(i=100;i<=m; 【 1 】) { d=【 2 】; y+=1.0/d; } return y; } int main() { int n=2000; system("CLS"); printf("\nThe result is %lf\n",【 3 】); return 0; }

20、【填空题】给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。 例如,有10个正整数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000,主函数中输出m=30。 #include <stdio.h> #define N 10 double fun(double x[]) { int i,j; double ave,d,s; s=0; for(i=0;i<N;i++) s=s+x[i]; ave=【 1 】; d=32767; for(i=0;i<N;i++) if(x[i]<ave && ave-x[i]<=d) { d=ave-x[i]; j=【 2 】; } return 【 3 】 ; } int main() { int i; double x[N],m; for(i=0;i<N;i++) { scanf("%lf",&x[i]); printf("%4.0f",x[i]); } printf("\n"); m=fun(x); printf("m=%5.1f\n",m); return 0; }

8.5项目七 测试

1、【单选题】下面关于结构体变量的描述中,错误的是( )。
A、结构体变量可以作为数组元素
B、结构体变量的成员用运算符“.”表示
C、结构体变量可以作为函数的参数
D、两个结构体变量可以作相加运算

2、【单选题】下面关于结构体类型的描述中,错误的是( )。
A、定义结构体类型时,结构体名不得省略
B、一个结构体类型的结构体变量可作为另外一个结构体类型的成员
C、数组可作为结构体成员
D、某结构体类型所能定义的结构体变量的个数是不受限制的

9.4项目八 测试

1、【单选题】以下叙述中错误的是________
A、C++语言中对二进制文件的访问速度比文本文件快
B、C++语言中,随机文件以二进制代码形式存储数据
C、语句 FILE fp; 定义了一个名为fp的文件指针
D、C语言中的文本文件以ASCII码形式存储数据

2、【单选题】fscanf函数的正确调用形式是______ __
A、fscanf(fp,格式字符串,输出表列)
B、fscanf(格式字符串,输出表列,fp)
C、fscanf(格式字符串,文件指针,输出表列)
D、fscanf(文件指针,格式字符串,输入表列)

3、【单选题】系统的标准输入文件是指__ ______
A、键盘
B、显示器
C、软盘
D、硬盘

4、【其它】1. 一条学生的记录包括学号、姓名和成绩等信息 a) 格式化输入多个学生记录 b) 利用fwrite将学生信息按二进制方式写到文件中; (3) 利用fread从文件中读出成绩并求平均值; 对文件中按成绩排序,将成绩单写入文本文件中。

10.3项目九 测试

1、【其它】1.编写程序绘制一个图:屏幕中央有一个半径为R1=160的大圆和一个同心的且半径为R2=120的小圆,同时在大圆和小圆中间均匀分布着12个与大圆和小圆相切的圆。 要求:(1) 分别用12种不同的颜色和填充模式填充12个小圆; (2) 用自定义模式填充中间小圆,且用漫延填充方法填充; (3) 用自定义模式填充中间小圆时,填充模式图案自己设计。

学习通C语言程序设计

C语言是一种高级编程语言,它广泛用于计算机科学和工程中。学习C语言程序设计,在计算机编程领域是非常重要的基础课程。在学习过程中,可以运用C语言来实现一些小型的计算机程序,从而加深对计算机编程的理解。

学习C语言程序设计的必要性

在当今计算机科学和工程领域中,C语言被广泛应用。它是UNIX操作系统的基本语言之一,也是Linux内核的主要实现语言。

C语言在操作系统内核、嵌入式系统、编译器开发、游戏开发以及网络应用等方面有着广泛的应用。因此学习C语言程序设计,对于理解计算机编程的本质和深入学习计算机科学和工程领域有着至关重要的意义。

学习C语言程序设计的难度

C语言程序设计相对于其他编程语言来说,并不是非常难学习。但是,它对于初学者来说可能会有一定的难度。主要原因是,C语言是一种低级语言,更加接近底层硬件,需要掌握一定的计算机基础知识。

此外,C语言程序设计需要编程者自己管理内存和指针,这对于初学者来说是比较困难的。因此,在学习C语言程序设计时,需要耐心学习,理解其基本概念和基本思想,一步一步来。

学习C语言程序设计的方法

学习C语言程序设计,首先需要掌握其基本语法和基本概念。可以通过参考相关的教材和资料,来学习C语言的语法规则、数据类型、变量、运算符等基本概念。同时,还需要学习C语言的控制结构和函数等内容。

除了理论学习外,还需要通过实践来加深对C语言的理解和掌握。可以通过编写小型的程序,来练习C语言的应用。在实践中,可以慢慢地掌握C语言的语法和思想,从而逐渐提高编程水平。

学习C语言程序设计的注意事项

学习C语言程序设计需要注意以下几点:

  • 掌握基本语法和概念:C语言的基本概念和语法规则是学习的基础,需要认真掌握。
  • 注重实践:理论只是基础,需要通过实践来加深对C语言的理解和掌握。
  • 注意代码规范:编写代码时要注意代码规范,使代码易于阅读和维护。
  • 注意内存泄漏和指针问题:C语言需要编程者自己管理内存和指针,需要注意内存泄漏和指针问题。
  • 学习C语言编译器的使用:C语言编译器是将C语言代码转换为计算机可以识别的指令,学习C语言程序设计时需要了解并学习编译器的使用。

总结

学习C语言程序设计,对于计算机编程领域是非常重要的基础课程,C语言在计算机科学和工程领域有着广泛的应用。学习C语言程序设计,需要掌握其基本语法和概念,在实践中加深对C语言的理解和掌握,同时要注意代码规范、内存泄漏和指针问题,了解并学习C语言编译器的使用。只有通过不断地学习和实践,才能更好地掌握C语言程序设计。


关于捆扎器材的说法,不正确的是()。

A.当大学新生入校后发现自己不适合所报考专业时,不应选择()。
B.对注写的单行文字进行编辑,要修改文字的内容应该进行()操作
C.在相同的时间内,一束波长为的单色光在空气和在玻璃中( )
D.伪类虽然不是真正意义上的类,但是它的名称可以由用户自定义。( )


法兰连接中,预紧密封比压大,有利于保证密封效果,所以预紧密封比压越大越好。

A.字体创意变化的形式有( )。
B.本节课中LM35的数据输出口与开发板()连接。
C.大小调式要注意调式功能性的体现
D.通过如图所示电路中元件A的电流I=( )A。


质量的提升和成本的控制在企业运营管理中是一组难以调和的矛盾。

A.男士的腰带上可以佩挂钥匙、手机等常用物品。
B.甲状腺素的功能包括下列哪些
C.商业计划书摘要中出现的数据和结论,有必要可以进行解释和说明
D.初次免疫应答的特点,描述正确的是


下列选项中,boast的用法与原文一致的是:

A.清明节起始于我国的哪个朝代
B.java源程序经编译生成的字节码文件的拓展名为
C.有下列批注的提单仍可以认为是清洁提单( )
D.______是管理发展的一种新趋势。


跳进、阶进、同音反复和模进是旋律够成的基本方法。()

A.下面( )命令用于测试网络是否连通
B.清末“预备立宪”的根本目的在于()
C.任意定轴轮系中各轮转向的判断都可以采用画箭头法。
D.住院期间,护土给病人进行的呼吸功能锻炼指导中错误的是


TRIZ理论的优势不包括哪一项( )。

A.对员工进行绩效评估就是对员工工作的结果
B.新零售正在实现“小时级”物流。
C.( )是《反潮流》的作者。
D.RangeValidator 验证控件规定要检测的值的数据类型Type


二手车市场交易博弈可以理解成一个( )。

A.《八十七神仙卷》具有“曹衣出水”的绘画特点。( )
B.地史上三个成煤期是指下列哪三个时间段
C.重点调查的调查结果可以用来推断总体。
D.抗TD抗原抗体产生过程中需要参与的细胞有:( )


如果你是小玉的舍友,你会怎样劝她正确对待这个挫折

A.史蒂夫·帕克斯顿主导创办了实验派舞蹈专业组织大同盟。
B.凸轮机构的主要优点是( )
C.摄像时要保证色彩正确还原
D.请问这幅《威斯敏斯特桥》的作者是谁


概括起来,地质公园主要保护的是矿产遗迹。

A.在团队中扮演外交家、善于向外界求助角色的是( )
B.3. 下列属于正确的测验观的是()
C.氨解反应底物易发生水解副反应时可以使用液氨作氨解剂。
D.煤在燃烧时产生的有害物质主要是NO2。


根据分子骨架和官能团的变与不变,可分为四种类型:

A.企业中的技能培训,常用的培训方式不包括:( )。
B.拍摄高度寄托着拍摄者对物象的
C.若微机需要热启动,通常可以同时按下组合键()
D.在说内容和方法时,只需要说出重点和难点,不需要说出如何解决重难点及其理论依据。


7.下面哪种类型的人喜欢竞争,迎接挑战()

A.朗诵作品中的发人深省的警句和庄严号召的语言描写时,采用的语速是( )
B.My friend does one thing
C.主要是用于科研实验及训练
D.下列选项中关于玄奘的描述正确的选项有( )


可持续发展的基本原则包括

A.下列属于企业文化的积极功能
B.威斯康星大学的重要发明和创造
C.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )。
D.精神障碍的预防体系核心层是


建筑石油沥青的温度稳定性是用( )表示的。

A.At KFC we do chicken right
B.下列说法与史实不相符的是( )。
C.Unicode字符集采用
D.下列关于生命包的说法错误的是


流体作层流的条件是( )

A.不同性质的单位对于员工的要求。
B.在民航运输安全管理全系统时代
C.一个截平面截圆锥体,截平面平行于轴线时,截交线的形状为( )。
D.交流发电机和蓄电池组成汽车充电系,两者之间是串联关系。( )