国家二级C语言机试(C语言程序设计)模拟试卷33
国家二级C语言机试(C语言程序设计)模拟试卷33
(总分:70.00,做题时间:90分钟)
一、选择题(总题数:35,分数:70.00)
1.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
(分数:2.00)
A.while(ch=getchar0='N')printf("%c",ch);
B.while(ch=getchar()=="N")printf("%c",ch);
C.while((ch=getchar())!='N')printf("%c",ch);√
D.while((ch=getchar())=='N')printf("%c",ch);
解析:解析:while循环的执行过程如下:①计算while后面圆括号中表达式的值,当值为非0时,执行步骤②;当值为0时,执行步骤④;②执行循环体一次:③转去执行步骤①;④退出循环。在选项C 中,表达式(ch=getchar())!='N'表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。
2.若有以下程序 main(){int a=-2,b=0; while(a++) ++b; pfintf("%d,%d\n",a,b);} 则程序的输出结果是
(分数:2.00)
A.0,2
B.1,2 √
C.1.3
D.2,3
解析:解析:循环体执行两次,第一次表达式a++值为-2,a的值为-1,执行循环体++b,b值为1,第二次表达式a++值为-1,a的值等于0,执行++b,b值为2,第三次判断条件a++,表达式值为0,不执行循环体,但是条件判断以后,a的值为1。
3.由以下while构成的循环,循环体执行的次数是int k=0;while(k=1)k++;
(分数:2.00)
A.一次也不执行
B.执行一次
C.无限次√
D.有语法错,不能执行
解析:解析:循环条件表达式为赋值表达式k=-1,因此循环执行无限次。
4.有以下程序 main(){ant a=-2,b=0; while(a++&&++b); printf("%d,%d\n",a,b);} 程序运行后输出结果是
(分数:2.00)
A.0,3
B.1,2 √
C.1,3
D.0,2
解析:解析:循环体为空,共执行2次。第一次变量a初值为-2,b初值为0,表达式a++&&++b值为1,同时a的值为-1,b的值为1,第二次循环条件判断以后,a的值为0,b的值2,执行循环体空,第三次判断条件表达式值为0,不执行循环体,而a的值为1,但是表达式a++的值为0,因此不计算表达式++b的值,b的值仍为2。
5.关于do循环体while(条件表达式);以下叙述中正确的是
(分数:2.00)
A.循环体的执行次数总是比条件表达式的执行次数多一次
B.条件表达式的执行次数总是比循环体的执行次数多一次
C.条件表达式的执行次数与循环体的执行次数无关
D.条件表达式的执行次数与循环体的执行次数一样√
解析:解析:do…while语句先执行语句,后判断表达式的值。故do…Vwhile语句又称“直到型”循环结构。由于是先执行后判断,因此do…while语句的循环语句至少被执行一次,循环条件至少判断一次。6.以下不构成无限循环的语句或语句组是
(分数:2.00)
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;
解析:解析:选项B中whilel[1)永远为真所以进入死循环,选项C中while(n=10)同理,选项D中for循环没有循环限定条件也将进入无限循环,只有选项A中while(n<=0)循环判定成立,循环将不进入无限循环。
7.有以下程序 main) {int i=5; do {if(i%3==1) if(i%5==2){printf("*%d",i);break;}
i++; }while(i!=0); printf("\n");} 程序的运行结果是
(分数:2.00)
A.*3*5
B.*5
C.*7 √
D.*2*6
解析:解析:由于循环变量i的初值等于5,所以第一、二次进入do…while循环语句时,条件语句if(i%3==1),if(i%5==2){printf(“*%d”,i);break;不执行,只执行i++语句。当i=7时,满足条件语句if(i%3==1),if(i%5==2){printf("*%d",i);break;},所以输出*7,结束循环。
8.若变量已正确定义,有以下程序段 i=0; do printf("%d,",i); while(i++); pfintf("%d\n",
i);其输出结果是
(分数:2.00)
A.0,0
B.1,1
C.0,1 √
D.程序进入无限循环
解析:解析:do…while循环的执行过程如下:①执行do后面的循环体中的语句。②计算while后一对圆括号中表达式的值。当值为非0时,转去执行步骤①;当值为0时,执行步骤③。⑨退出do…while循环。对于本题变量i的初始值等于“0”,接着执行do后面的循环体中的语句,输出变量i的值0。再判断while 后面括号中表达式i++的值,其值为0,所以循环结束。此时变量i的值经过自加已经变为1,所以再次输出i的值“1”。
9.若有以下程序 main(){int a==2,b=0: do{++b;}while(a++); printf("%d,%d\n",a,b);} 则程序的输出结果是
(分数:2.00)
A.0,2
B.1,2
C.1,3 √
D.2,3
解析:解析:由于a的初始值等于-2,所以while循环语言执行三次结束,第一次a=-2,b=1,然后判断循环条件a++非零,执行第二次循环体a=-1,b=2,判断循环条件非零,执行循环体a=0,b=3,判断循环条件为0,此时变量a的值等于1。
10.有以下程序 main(){int a=3; do{printf("%d,",a-=2);}while(!(--a)); printf("\n");} 程序运行后的输出结果是
(分数:2.00)
A.1,
B.1,-2,√
C.3,0,
D.1,0
解析:解析:循环体执行两次。首先输出a=1,然后判断表达式!(--a),a为0,循环条件表达式值为1,执行第二次循环体,输出a=-2。判断循环条件表达式值为0,循环退出。
11.若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是
(分数:2.00)
A.循环体执行两次
B.循环体执行一次
C.循环体一次也不能执行
D.构成无限循环√
解析:解析:本题考查for循环。本题的for循环初始条件为i=0,k=-1;循环结束条件为k=1永远为真(k不为0),因此循环不能结束。
12.若k是int类型变量,且有以下for语句1 for(k=-1;k
(分数:2.00)
A.循环体执行两次
B.循环体执行一次√
C.循环体一次也不执行
D.构成无限循环
解析:解析:本题考查for循环的使用。在程序中,for循环的初始值k=-1,循环结束条件是k<0,每次循环k增加1,第一次进入循环的时候k为-1,k小于0,执行打印,然后k的值变成0,下次进入循环k 不小于0,循环结束,因此循环只能执行一次。
13.有以下程序段 int i,n; for(i=0;i
(分数:2.00)
A.当产生的随机数n为4时结束循环操作
B.当产生的随机数n为1和2时不做任何操作
C.当产生的随机数n为0时结束程序运行√
D.for循环语句固定执行8次
解析:解析:rand()函数功能为产生一个随机数,rand()%5,则产生0~4之间的任意随机数,当产生的随机数n为0时,执行“case 0:exit(0)”这条语句,结束程序的运行。
14.有以下程序 #include main() {int y=9; for(;y>0;y--) if(y%3==0)printf("%d",--y);} 程序的运行结果是
(分数:2.00)
A.963
B.852 √
C.741
D.875421
解析:解析:y的值的初值为9,所以在for循环中,当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值。因为自减符号在y的前面,所以首先y的自减1,然后再输出v的值,故输出结果为8 5 2。
15.有以下程序 #include main() {int ij,m=1; for(i=1;i0;j--) {if(i*j>3)break; m*=i*j; }} printf("m=%d\n",m);} 程序运行后的输出结果是
(分数:2.00)
A.m=2
B.m=4
C.m=5
D.m=6 √
解析:解析:这道题考查了for循环的嵌套应用。对于外层for循环来说,变量i从1增到2,循环执行2次。当变量i的值等于1时,对于内层for循环来说,变量j从3减到1,求得变量m的值等于6。当变量
i的值等于2时,第一遍执行内层for循环,变量i的值等于3,那么i*j的值等于6,其值大于3,这时执行break语句,退出内层for循环的执行。所以程序输出变量m的值为6。
16.有以下程序 #include void main() {int c=0,k; for(k=1;k
(分数:2.00)
A.9
B.7
C.5
D.3 √
解析:解析:在这段程序中,整型变量c的初始值赋为0,在第一次执行for循环语句时,因为此时变量k 的值等于1,所以在switch语句中首先执行default语句,给变量c的值加1,因为在defaull语句后面没有break语句,所以就会接着执行case 2这条语句,再给变量c的值加1,其值变为2,这时退出switch 语句块,进入第二次for循环,此时k的值等于2,就会执行switch语句块中的case2这条语句,再给变量c的值加1,这时变量c的值就是3,此时退出switch语句块,循环变量k的值加1,成为3,此时已不再满足循环条件,执行程序中的最后一条语句,把变量c的值在屏幕上输出。
17.有以下程序 #include main() {int i,j; for(i=3;i>=1;i--) {for(j=1;j<=2;j++)printf("%d",i+j); printf("\n"); }} 程序的运行结果是
(分数:2.00)
A.4 3 2 5 4 3
B.2 3 3 4 4 5
C.4 5 3 4 2 3 √
D.2 3 3 4 2 3
解析:解析:本题中的外层行变量i从3逐次递减到1,共输出3行。内层列变量j每次从1递增到2,每行输出2个数字。所以当i=3时,第一行输出i+1=4 i+2=5,即4 5;当i=2时,第一行输出i+1=3和i+2=4,即3 4:当i=1时,第一行输出i+1=2和i+2=3,即2 3。
18.设变量已正确定义,则以下能正确计算f=n!的程序段是
(分数:2.00)
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1: for(i=l;i
C.f=1; for(i=n;i>1;i++)f*=i;
D.f=1; for(i=n;i>=2;i--)f*=i;√
解析:解析:本题主要考查for循环的使用。题目要求计算阶乘n!,通过for循环来实现,循环变量i可以从1到n(包括n)或者从n到1,在循环体内做累乘。选项A中,累乘变量的初值为0,最终计算结果也为0;选项B中循环次数为n-1次,累乘结果少乘了n;选项C是死循环;选项D正确。
19.有以下程序 main() {int i; for(i=1;i<=40;i++) {if(i++%5==0) if{++i%8==0)printf("%d",
i); } printf("\n");} 执行后的输出结果是
(分数:2.00)
A.24
B.5
C.32 √
D.40
解析:解析:在for循环体中,先判断自变量i能否被5整除,然后自加两次,最后判断i能否被8整除。当for循环执行到第30次时,i的值为30能被5整除,然后i经过两次自加l运算,值变为32,能被8整除,故执行“printf("%d",i);”语句,即输出32。
20.有以下程序 #include void main() {char b,c;int i; b='a';c='A'; for(i=0;i
(分数:2.00)
A.ABCDEF
B.aBeDeF
C.abcdef
D.AbCdEf √
解析:解析:循环变量i从0依次递增到5,依次输出字母A,b,C,d,E,f。
21.有以下程序 main0{ int a=1,b=2; for(;a
(分数:2.00)
A.8,11
B.10,14 √
C.7,11
D.9,18
解析:解析:在这段程序中变量a的初值等于1,变量b的初值等于2。第1次执行for循环语句后,变量
a的值等于3,变量b的值等于3。第2次执行for循环后,变量a等于6,变量b的值等于7。第3次执
行for循环后,变量a等于9,变量b的值等于14。第4次执行for循环后,变量a等于10,这时退出for 循环,此时变量b的值等于14。因而程序输出变量钆b的值分别为10,14。
22.有以下程序段 int i,n; for(i=0;i
(分数:2.00)
A.当产生的随机数n为4时结束循环操作
B.当产生的随机数n为1和2时不做任何操作
C.当产生的随机数n为0时结束程序运行√
D.for循环语句固定执行8次
解析:解析:rand()函数功能为产生一个随机数,rand()%5,则产生0~4之间的任意随机数,当产生的
随机数n为0时,执行case 0:exit(0)这条语句,结束程序的运行。
23.若有以下程序 main() {int a=6,b=0,c=0; for(;a;){ b+=a; a-=++c; } printf("%d,%d,%d\n",a,b,c);} 则程序的输出结果是
(分数:2.00)
A.1,14,3
B.0,18,3
C.0,14,3 √
D.0,14,6
解析:解析:循环体执行三次,a初值6,第一次执行循环体,b=6,a=5。继续执行循环体,b=11,a=3,
第三次执行循环体,b=14,a=0,循环退出。
24.若有以下程序main(){int a=6,b=0,c=0;for(;a&&(1)==0);) { b+=a;a-=c++;} printf("%d,%d,%d\n",a,b,c);} 则程序的输出结果是
(分数:2.00)
A.6,0,0
B.5,6,0
C.6,6,1 √
D.5,6,1
解析:解析:循环条件a&&(b=0),a非零同时b==0则执行循环体,否则退出。循环体执行一次,此时b=6,a=6,c=1。
25.以下叙述中正确的是
(分数:2.00)
A.对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循
环
B.对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能转换成while语句
C.只要适当地修改代码,就可以将do-while与while相互转换√
D.如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while语句
解析:解析:while和do…while语句和for语句很容易进行相互转换。对于for循环的执行过程如下:①计算表达式1。②计算表达式2。若其值为非0,转步骤③;若其值为0,转步骤⑤。③执行一次for循环体。④计算表达式3,转向步骤②。⑤结束循环。任何循环都有可能成为死循环。
26.若有以下程序#include char*a="you"; char b[]="Welcome you to China!"; main(){int i,j=0;char*p;for(i=0;b[i]!='\0';i++) {if(*a==b[i]){ p=a;for(j=i;*p!='\0';j++) {if(*p!=b[j])break;
p++; } if(*p=='\0')break; } } printf("%s",&b[i]);} 则程序的输出结果是
(分数:2.00)
A.you to China! √
B.to China!
C.me you to China!
D.China!
解析:解析:程序中循环部分的主要功能是,在字符串b中寻找是否含有子串a,如果含有则退出,此时i 为子串a在字符串b中第一次出现的位置。因此最后的输出函数则从第i个字符开始一直输出到字符串的末尾。
27.以下程序段中的变量已正确定义 for(i=0;i
(分数:2.00)
A.********
B.****
C.**
D.* √
解析:解析:本题考查循环语句,题中第二个(内层)for循环之后有一个分号,意思是每次循环中的操作为空,不执行任何操作。再循环结束后执行printf语句,即只打出一个*。
28.有以下程序 main() {int i,j; for(i=1;i
C语言程序设计模拟试题1(附答案)
《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)
C语言程序设计实验报告参考答案
长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include
printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include
printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include
C语言程序设计试题1
C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535
C语言程序设计实验与习题答案
2.程序填空 (1)以下程序的功能是计算1~50之间能被7整除的整数之和。 #include
#include
c语言程序设计试题答案
习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }
B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障
C语言程序设计模拟试题A附答案
《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。
二级(C语言程序设计)上机题汇总
二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include
void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include
C语言程序设计实验报告(数组)
C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。
3算法描述流程图
4源程序 #include
for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。
c语言程序设计期末试题B(含答案)
c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include
C语言程序设计期末考试试题(含答案)
C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(
#include
《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案
《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案 (教育部考试中心)高等教育出版社出版 (第一章、第二章、第三章) 第一章程序设计基本概念 1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______。 答案:.exe 1.2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。 答案:.c .obj .exe 1.3 结构化程序由_____、_____、_____三种基本结构组成。 答案:顺序、选择、循环 第二章 C程序设计的初步知识 一、选择题 2.1 以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 答案:B 2.2 以下选项中正确的实型常量是 A)0 B)3. 1415 C)0.329×10(2)(10的2次方)D).871 答案:D 2.3 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2 答案:B 2.4 以下选项中不合法的用户标识符是 A)abc.c B)file C)Main D)PRINTF 答案:A 2.5 以下选项中不合法的用户标识符是 A)_123 B)printf C)A$ D)Dim 答案:C 2.6 C语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 答案:A 2.7 可在C程序中用作用户标识符的一组标识符是 A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG 答案:B 2.8 若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B 2.9 以下叙述中正确的是 A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。 B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。 C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。 D)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。 答案:B 2.10 以下叙述中正确的是 A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B)C程序由主函数组成。 C)C程序由函数组成。 D)C程序由函数和过程组成。 答案:C 2.11 TURBO C中int类型变量所占字节数是 A)1 B)2 C)3 D)4 答案:B
C语言程序设计期末考试试题及答案知识分享
C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include 《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued C 语言程序设计 请编写函数fun ,其功能是:找出2W 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[O][O]; for(i=0;i<2;i++) for(j=0;j 实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果: 项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果: 一、单项选择题(本大题共20题,每题2分,共40分) 1、以下不是C语言的特点的是 A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、ab.c3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 A、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果 是。 #include C 语言程序设计 请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j 文档从网络中收集,已重新整理排版.word版本可编辑.欢迎下载支持. 《C语言程序设计》 实验报告 2013~2014学年第二学期 班级 姓名 学号 指导教师 实验一 实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容: 教材《C语言程序设计教程》第1章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include 2. (1) 改正后的源程序: #include C语言程序设计模拟试题2(附答案)
二级C语言程序设计题
C语言程序设计实验实验指导书及答案
C语言程序设计期末考试试卷
二级C语言程序设计题
C语言程序设计实验报告(实验1-12)