沈建理学院2011年C语言试题
C语言程序设计试题及答案解析[1]全解
C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
【精品】C语言,沈阳理工大学,考试复习习题.docx
6.1:求出1—100之间的素数,并以每行打印5个输出,当求得素数的个数超过20个时,不再计算。
6.1: # include <math.h>main()( int i,j,k,n=0;for(i=l;i<=100;i++)( k=sqrt(i);for(j=2;j<=k;j++) if(i%j==0) break;if(j>=k+l) { printf( "%3d” ,i);n++;if(n%5==0)printf( "\n” );if(n>=20) break;}}} 6.3:打印形状为直角三角形的九九表。
12 43 6 948 12 169 18 27 (81)数组} *6.3: #include <stdio.h>main()(血i,j;for(i=l;i<10;i++)( for(j=l;j<=i;j++)printf( "%4d”,i*j);printf( "\n” );}}6.2:键盘上输入两个正整数,分别赋给变量a和b,计算从a的值到b的值之间的所有整数之和,并输出结果。
5+6+7+8+9=356.2: #include <stdio.h>main(){ int a,b,sum;scanf( “%d%d" ,&a,&b);if(a>b) ( t=a;a=b;b=t;}for(sum=0;a<=b;a++)( sum+=a;printf( "%d+” ,a);}printf( "\b=%d\n" ,sum);7.1:从键盘输入10个不为零的整数,将它们按正负数分开后,分别按从小到大的顺序打印出来。
7.1: #include <stdio.h>main()( int i,j,t,m=0,a[10];for(i=0;i<10;i++)scanf( "%d”,&a[i]);printf( "\n");for(i=0;i<9;i++)for(j=0;j<9-i;j++) if(aU]>a[j+l])(t=aU];a[j]=aU+l];a|j+l]=t;}for(i=0;i<10;i++)if(a[i]<0) ( printf( "%4d”,a[i]);m++; }printf( "\n");for(i=m;i<10;i++)printf( "%4d”,a[i]);8.2:用起泡法对10个数排序。
C语言考试题库及答案
C语言考试题库及答案 The document was prepared on January 2, 2021C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1、下面程序的输出是___D______#include<>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值 C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码 B) 补码 C) EBCDIC码 D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__.#include<>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型 B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<>void main(){int a=5,b=3;float x=, y=;printf("%d,%d\n",a+b!=a-b,x<=(y-=);}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 1 28、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=,y=,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____B____.A) B) 2.5 C) D) 030、若已定义x和y是整型变量,x=2;,则表达式y=+x/2的值是____C____.A) B) 5 C) 3 D)31、以下程序的输出结果是____D____.#include<>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) D)34、表达式5!=3的值是____D____.A) T B) 非零值 C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=,b=,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____. #include <>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____. #include <>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"<CR>",则输出结果是___B_____.#include <>void main( ){ float a,b;scanf("%f",&a);if (a< b=; else if ((a< && (a!=) b=(a+;else if (a< b=2;else b=;printf("%f\n",b);}A) B)C) D)48、执行下面程序后,运行结果是____A____. #include <>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good m orning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<yy:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <>void main( ){ int a,b,s; scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是_____D____.#include <>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下 \n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌ -1 x<0y= ┤ 0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <>void main( ){ float x=,y;if(x< y=;else if (x< y=x;else y=;printf("%f\n",y);}该程序的输出结果是____C_____.A) B)C) D) 60、以下程序的执行结果是___B_____. #include <>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____. #include <>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____. #include <>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <>void 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);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D)a=2,b=265、下面程序的输出结果是____C_____.#include <>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)w:x; m=(m<y)m:y; m=(m<z)m:z;则该程序段执行后,m的值是____D_____. A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.#include <>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<yy:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include ""void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____. #include <>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<ak:c<bc:a);}A) 4 B) 3 C) 2 D) 1 75、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <>void main( ){ int a,b;scanf("%d",&a);b=a>15a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 ****D) 输出 ####79、为了避免嵌套的if-else语句的二义性,C 语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值 B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环 D)输出错误信息84、下面程序的运行结果是____B____.#include<>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______. int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____. int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
2011春C语言试卷A试题(王伟,李剑雄)修订版
注意行为规范遵守考试纪律5.有以下程序#include <stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a) b+=2;else b+=3;printf("%d\n",b);}则程序输出( )。
A) 0 B) 1 C) 2 D) 36.有以下程序段#include <stdio.h>main(){int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( )。
A) x=0B) x= -1 C) x=1 D)while构成无限循环7.有以下程序:#include <stdio.h>int fun(){static int x=1;x *= 2;return x;}main( ){int i,s=1;for(i=1;i<=2;i++) s=fun();printf("%d\n ",s);}执行后的输出结果为( )。
A) 0 B) 1 C) 8 D) 48. #include <stdio.h>void main( ){int k=011;printf("%d\n",k++);}程序输出结果是( )A)12 B) 11 C) 10 D) 99.以下程序段运行结果是( )。
enum weekday{aa,bb=2,cc,dd,ee}week=ee;printf(“%d\n“,week);A) 4 B) 5 C) ee D) 010.以下对C语言函数的描述中,不正确的是( )。
A)不同函数中可以使用相同名字变量B) 函数可以嵌套定义C) 函数可以没有返回值D) 程序由函数组成11.若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x 数组元素的是( )。
2011年9月全国计算机等级考试二级C语言上机题库(全).doc()
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
C语言程序设计试题集及其答案完整版
C语言程序设计试题集及其答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
2011年期末考试C语言复习题含答案(沈阳工程学院)
2011年期末考试C语言复习题——沈阳工程学院一、单项选择(每题2分,共20分)1、下列 C 数据类型属于C语言提供的基本数据类型。
A、数组类型B、指针类型C、整型D、结构体类型2、C语言程序中,下列 B 标识符是合法。
A、scanfB、str 2C、5aD、His.age3、已知int a ,b;scanf(“%d%d”,&a,&b);程序运行输入a、b的值时,不能作为输入数据分隔符的是 A 。
A、逗号B、空格C、回车D、[Tab]4、C语言对嵌套IF语句的规定是:else总是和 D 配对。
A、其之前最近的IFB、第一个IFC、缩进位置相同的IFD、其前面最近且尚未配对的IF5、下面语句 A 是定义一个有10个INT整型元素的数组。
A、int a[10]B、int a[2,5]C、int a[]D、int *a[10]6、已知char ch[]=”welcome”;printf(“%d”,strlen(ch));输出结果是 B 。
A、6B、7C、8D、97、Fwirte函数的一般调用形式是 D 。
A、fwirte (buffer, count, size, fp) ;B、fwrite (fp, size, count, buffer) ;C、fwrite (fp, count, size, buffer );D、fwrite (buffer, size, count, fp) ;8、设int a=2,b;则执行b=a&&1;语句后,b的结果是 b 。
A、0B、1C、2D、39、在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是 d 。
A、intB、charC、unsignedD、long10、下面程序段的运行结果是 b 。
main ( ){int a=11,b=10,c=0;a/=b+(b&&c);a=a/bprintf(″%d\n″a);}A、0B、1C、1.1D、1111、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是 C 。
2011~2012学年第二学期C语言期末考试卷答案(A卷)
2011~2012学年第二学期C语言期末考试卷答案(A卷)专业班级:学号:姓名:一、选择题(用铅笔把选中的方格涂黑20×1=20分)1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 2021 22 23 2425 26 27 2829 30二、填空题(25×2=50分)1. a-b==b-c2. 1<=x<log(10)3. 14. continue5. 56. 87. 108. 13 11 129. 8 10. 2 2 111. 1 0 0 12. 1 2 013. 3 5 8 14. f(a)*f(b)>015. (a+b) /2 16. f(x)*f(a)或y*f(a)17. cos 18. n%i==0或!(n%i)19. a[k++]=i 20. 021. prime(j) 22. NODE23. p2 24. p2->next25. head三、编程题(10×2=20分)1.编写函数int frinum(long s[][2],long n)实现以下功能:找到2 n范围内的所有亲密数对,将这些亲密数对保存到s指向的二维数组中。
函数返回s数组中存储的亲密数对的对数。
编写函数main实现以下功能:求3000以内的亲密数对并输出。
说明:如果A的全部真因子(包括1,不包括A自身)之和等于B;B的全部真因子之和等于A,则称整数A和B为一对亲密数。
#include <stdio.h>int frinum(long s[][2],long n){ long a,b,m,i,k=0;for(a=2;a<=n;a++){ for(b=0,i=1;i<=a/2;i++)if(!(a%i)) b+=i;for(m=0,i=1;i<=b/2;i++)if(!(b%i)) m+=i;if(m==a&&b>m){ s[k][0]=a; s[k][1]=b; k++; }}return k;}void main(){ int i,j; long n,s[20][2];j=frinum(s,3000);for(i=0;i<j;i++)printf("\n( %ld,%ld )",s[i][0],s[i][1]);}2.编写函数int arms(int ar[])实现以下功能:将所有3、4位Armstrong数存入数组ar中,函数返回这些Armstrong数的个数。
2011年c语言下半年c语言全国高等学校试题与答案
A)计算机病毒可以把自身复制到内存 B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消 失 C)计算机病毒可以潜伏在文件中并不立即发作 D)计算机病毒可以侵占系统资源,影响系统运行性能 9.网址中http表示————。 A)用户名 B)主机的IP地 址或域名 C)超文本传输协议 D)资源在主机上 的存放路径 10.用高级程序设计语言编写的程序称为————程序。 A)源 B)可执行 C)伪代码 D)目标 11.以下选项中叙述正确的是————。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,被调用的函数必须在main()函数中声明 C) 语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须存放在程序的开始部分 12. C语言程序的三种基本结构是顺序结构、选择结构和————结 构。 A)循环 B)递归 C)转移 D)嵌套 13.以下选) double C) char D)bool 14.以下选项中正确的C语言标识符是————。 A) 2b B) x_1 C) a@b D) 3#h 15. 以下选项中有关C语言的叙述错误的是————。 A)变量不能使用大写字母命名 B)在一个表达式中可以出现不同类型的变量 C)可以将一个字符型常量赋值给一个整型变量 D)可以将一个整型常量赋值给一个实型变量 16. 以下选项中,和语句K=N++;等价的是————。 A)k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k=n+1 17. 已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是 ————。 A) 8 B) 10 C) 12 D)14 18. 已知int a=2,b=3,c',,则执行语句c=(a+2,b+2);后,c的输出结果
c语言大一考试题及答案
c语言大一考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. variable答案:A2. C语言中,用于定义一个整型变量的关键字是?A. floatB. doubleC. intD. char答案:C3. 以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C4. 在C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <答案:A5. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. $variableD. variable!答案:B6. C语言中,用于定义一个字符型变量的关键字是?A. intB. charC. floatD. double答案:B7. 在C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getc()答案:C8. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C9. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D10. 下列哪个选项是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. <!— This is a comment —>D. # This is a comment答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并赋值为10的语句是:________。
答案:int a = 10;2. C语言中,用于计算两个数相加的函数是:________。
答案:sum()3. 在C语言中,用于输出一个整数的函数是:________。
2011年《C语言程序设计》期末考试A卷答案
华中科技大学文华学院2010~2011学年度第二学期《C语言程序设计》参考答案、评分标准专业:全院使用范围:本\专科考试时间:2011年7月2日卷型:A卷考试方式:闭卷课程性质:必修一、选择题(每小题2分,共20分)1~5: C D C B C6~10: A B D A D二、把下列数学式子写成C语言表达式(每小题2分,共10分)1. sqrt(s*(s-a)*(s-b)*(s-c))2. 2*sqrt(x)+(a+b)/(3*sin(x))3. exp(x)-log(x)/log(2)4. 2*3.14*r+3.14*r*r+cos(3.14/180*45)5. fabs(-pow(x,5))三、阅读程序,写出运行后的输出结果(每题4分,共20分)1. 结果:62. 结果:***3. 结果:2,14. 结果:00005. 结果:64四、编程题(每小题10分,共40分)1.#include <stdio.h>void main(){int year;scanf("%d",&year);if(year%400==0||(year%4==0&&year%100!=0))printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);}2. #include <stdio.h>void main(){int m=0,n=0;char c;while((c=getchar())!='\n'){if(c>'A'&&c<='Z')m++;if(c>='a'&&c<='z')n++;}printf("m=%d,n=%d,max=%d\n",m,n,m<n?n:m); }3.#include <stdio.h>void main(){int a[10]={1,2,3,4,5,6,7,8,9,10};int i,n,m,x;n=0,m=9;scanf("%d",&x);while(n<=m){i=(n+m)/2;if(a[i]==x)break;if(a[i]<x)n=i+1;if(a[i]>x)m=i-1;}if(a[i]!=x)printf("No found");elseprintf("%d,%d\n",i,a[i]);}4.#include <stdio.h>void strcat1(char p[], char q[]){int i=0,j=0;while(p[i]!='\0')i++;while(q[j]!='\0'){p[i]=q[j];i++,j++;}p[i]='\0';}void main(void){char a[20],b[10];printf("请输入两个字符串:\n");gets(a);gets(b);strcat1(a,b);printf("\n连接后的字符串为:%s\n",a);}五、填空(每空2分,共10分。
2011年C语言试卷(含答案)
2011年计算机科学与技术专业C 语言试卷题号 一 二 三 四 总分校核分数阅卷一、基础知识填空题(每空2分,共20分)1. C 语言规定,必须用___ ____标识符作为主函数。
2. C 语言中用来表示整常数的进制有哪三种:__ _、__ _、__ _。
3. break 语句只能用于___ ____语句和___ ____语句。
4. 数组名命名规则和变量名相同,由字母、数字和下划线组成,并且开头只能是______ _________。
5. C 语言中,形参缺省的存储类说明是___ ______。
6. 一个专门用来存放另一个变量地址的变量叫____ ______。
7. 定义FILE *fp,这里fp 是一个___ _____。
二、基础选择题(每题2分,共30分)1. C 语言程序是由___ ______组成。
A.若干个过程B.若干子程序C.一个主程序和若干个子程序D.若干函数2. 完成C 源程序编辑后,到生成执行文件,C 理系统必须执行的步骤依次为___ 。
A.连接、编译B.编译、连接C.连接、运行D.运行 3. 下列符号中不属于C 语言保留字的是__________。
A.volatileB.thenC.staticD.for4. 假设在程序中a 、b 、c 均被定义成int 型,并且已被赋予大于1的值,则下列几种表达中,能正确表示代数式abc1的C 表达式是__________。
A.1/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/(a*b*c)5.设有int x=10,y=3;则下列表达式值为1的是__________。
A.!(y= =x/3)B.y!=x%7C.x>0&&y<0D.x!=y||x>=y6.字符型常量在内存中存放的是该字符对应的__________。
A. ASCII码值B. 十进制值C. BCD码值D. 内部码值7.以下叙述不正确的是__________。
2011年6月省考C语言新题与参考答案(非选择部分)
一、填空题1、将程序Ccon291.C 填写完整,该程序求出所有满足形如MN + NM =99 的一位整数M和N。
如:当M=1,N=8时,满足18+81=99注:(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/**/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。
#include <stdio.h>void main(){ int m,n,k;for ( m = 1; m < 10 ; m++)for ( n = 1 ;/**/ /**/; n++){ k =/**/ /**/;if (k == 99)printf ( "M = %d N = %d\n", m, n );}getch();}参考答案:#include <stdio.h>void main(){ int m,n,k;for ( m = 1; m < 10 ; m++)for ( n = 1 ;n < 10; n++){ k =10*m + n + 10*n + m;if (k == 99)printf ( "M = %d N = %d\n", m, n );}getch();}2、补充程序Ccon292.C ,分别统计输入整数中小于零、大于零和最低位为3的个数。
输入零时输出统计结果。
注:(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/**/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。
#include <stdio.h>void main(){int x,na,nb,nc;na=nb=/**/ /**/;printf("Please input integer number, end with 0:\n");scanf("%d",&x);while( x ){if(x<0)/**/ /**/;else++nb;if( abs(x%/**/ /**/)==3 )++nc;printf("Please input integer number, end with 0:\n");scanf("%d",&x);}printf("na=%d nb=%d nc=%d\n",na,nb,nc);getch();}参考答案:#include <stdio.h>void main(){int x,na,nb,nc;na=nb=nc=0;printf("Please input integer number, end with 0:\n");scanf("%d",&x);while( x ){if(x<0)++na;else++nb;if( abs(x%10)==3 )++nc;printf("Please input integer number, end with 0:\n");scanf("%d",&x);}printf("na=%d nb=%d nc=%d\n",na,nb,nc);getch();}3、将程序Ccon301.C 填写完整,实现从键盘按行输入一个5行5列的二维整型数组表示的5 X 5 阶矩阵,并输出最后一列元素的平均值。
2011年辽宁省数据结构C语言版最新考试试题库(完整版)
30、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
31、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
18、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
A.整形 B.引用型
C.指针型 D.常值引用型?
25、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
26、与单链表相比,双链表的优点之一是 D 。
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
29、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
A.2 B.3 C.4 D.∞
6、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
7、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
2011级C语言程序设计基础教程课后习题答案
C语言课后习题习题答案详解(11级教材)第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。
1.1.2 一个函数由__函数头__和__函数体__两部分组成。
1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。
1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。
1.1.5 C语言程序的基本单位或者模块是__函数__。
1.1.6 C语言程序的语句结束符是_;___。
1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。
1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。
1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。
且第一个字符必须为字母或下划线。
1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。
1.2 选择题1.2.1 一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束1.2.2 以下叙述不正确的是(C)。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。
A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。
2011年3月全国计算机等级考试二级C语言笔试真题与答案【附珍贵解题方案】
2011年3月全国计算机等级考试二级C语言笔试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'\123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=LiliC)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4); break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include <stdio.h>main()b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#include <stdio.h>void fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a);printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main()if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#include <stdio.h>void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello BeijingC)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2011年计算机等级考试二级C语言上机题库(含答案)
程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
第1 处FILE * fp;第2 处while (!feof(fp)) {第3 处putchar(ch); ch = fgetc(fp); }2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
沈阳建筑大学C语言复习资料
沈阳建筑大学C语言复习资料注:此资料所涉及内容理解透彻即可轻松得到80分教材复习内容:要点1常量与变量,标识符命名2输入输出格式控制3程序控制结构(条件表达式,分支,循环)4流程转移控制5函数定义与使用,变量的作用域和存储类型6二维数组,指针数组,字符数组(字符串)7指针数组,函数参数,数组参数8结构体定义与使用9函数、指针、结构体综合10文件操作需要看的题例题4.77.2课后习题:4.104.194.245.45.65.76.3(2)6.56.117.67.84.10(1)#include <stdio.h>main(){int i, sum = 0;for (i = 1; i <= 101; i = i+2){sum = sum + i;}printf("sum=%d\n", sum);}(2)#include <stdio.h>main(){int i = 1, sum = 0;while (i <= 101){sum = sum + i;i = i + 2;}printf("sum=%d\n", sum);}4.19#include <stdio.h>#include <math.h>main(){int i1, i2, i3, i4, k, n;printf("Input data is:");scanf("%d", &n);k = fabs(n); /*取绝对值*/i1 = k / 1000; /*分离出千位*/i2 = (k - i1 * 1000) / 100; /*分离出百位*/ i3 = (k - i1 * 1000 - i2 * 100) / 10; /*分离出十位*/i4 = k % 10; /*分离出个位*/ printf("The sum of the total bit is %d\n", i1+i2+i3+i4); }4.24#include <stdio.h>main(){int x, y, z;for (x = 0; x <= 20; x++){for (y = 0; y <= 33; y++){z = 100 - x - y;if (5*x + 3*y + z/3.0 == 100){printf("x=%d, y=%d, z=%d\n", x, y, z);}}}5.4(1)#include <math.h>main(){int n, ret;printf("Input n:");scanf("%d",&n);ret = IsPrimeNumber(n);if (ret != 0){printf("%d is a prime number\n",n);}else{printf("%d is not a prime number\n",n);}}/*函数功能:判断参数是否是素数函数入口参数:number为整型数,要求为正整数函数返回值:非0值表示是素数,否则不是素数int IsPrimeNumber(int number){int i;if (number <= 1) /* 负数、0和1都不是素数*/ return 0;for (i=2; i<=sqrt(number); i++){if ((number % i) == 0) /* 被整除,不是素数*/return 0;}return 1;}(2)#include <math.h>main(){int n, ret;printf("Input n:");scanf("%d",&n);ret = IsPrimeNumber(n);if (ret != 0){printf("%d is a prime number\n",n);}else{printf("%d is not a prime number\n",n);}}/*函数功能:判断参数是否是素数函数入口参数:number为整型数,要求为正整数函数返回值:非0值表示是素数,否则不是素数*/int IsPrimeNumber(int number){int i, flag = 1; /*标志变量置为真,假设是素数*/ if (number <= 1) /* 负数、0和1都不是素数*/ flag = 0;for (i=2; i<=sqrt(number); i++){if ((number % i) == 0) /* 被整除,不是素数*/flag = 0;}return flag;}5.6#include <stdio.h>int MinCommonMultiple(int a, int b);main(){int a, b, x;printf("Input a,b:");scanf("%d,%d",&a,&b);x = MinCommonMultiple(a,b);printf("MinCommonMultiple = %d\n", x);}/*函数功能:计算两个正整数的最小公倍数函数入口参数:两个整型数函数返回值:最小公倍数*/int MinCommonMultiple(int a, int b){int i;for (i=1; i<b; i++){if ((i*a) % b == 0)return i*a;}return b*a;}5.7#include <stdio.h>int MaxCommonFactor(int a, int b);main(){int a, b, x;printf("Input a,b:");scanf("%d,%d",&a,&b);x = MaxCommonFactor(a,b);printf("MaxCommonFactor = %d\n", x); }/*函数功能:计算两个正整数的最大公约数函数入口参数:两个整型数函数返回值:最大公约数*/int MaxCommonFactor(int a, int b){int r;do{r = a % b;a = b;b = r;}while (r != 0);return a;}6.3(2)(2)#include <stdio.h>main(){int a[10], n, max, min, maxPos, minPos;for (n=0; n<10; n++){scanf("%d",&a[n]);}max = min = a[0];maxPos = minPos = 0;for (n=0; n<10; n++){if (a[n] > max){max = a[n];maxPos = n;}else if (a[n] < min){min = a[n];minPos = n;}}printf("max=%d, pos=%d\n",max, maxPos);printf("min=%d, pos=%d\n",min, minPos);}6.5#include <stdio.h>#define ARR_SIZE 10/*函数功能:找出n个数中的最大数与最小数并将其位置对换函数参数:整型数组a, 存放待处理数据整型变量n,为数据个数返回值:无*/void MaxMinExchang(int a[], int n){int maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;int i, temp;for (i=1; i<n; i++){if (a[i] > maxValue){maxValue = a[i];maxPos = i;}if (a[i] < minValue){minValue = a[i];minPos = i;}}temp = a[maxPos];a[maxPos] = a[minPos];a[minPos] = temp;}main(){int a[ARR_SIZE], i, n;printf("Input n(n<=10):");scanf("%d", &n) ;printf("Input %d Numbers:\n", n);for (i=0; i<n; i++){scanf("%d", &a[i]);}MaxMinExchang(a, n);printf("After MaxMinExchange:\n");for (i=0; i<n; i++){printf("%4d", a[i]);}printf("\n") ;}6.11#include <stdio.h>#include <string.h>#define ARR_SIZE 80main(){char str[ARR_SIZE];int len, i, letter = 0, digit = 0, space = 0, others = 0;printf("Please input a string:");gets(str);for (i=0; str[i]!='\0'; i++){if (str[i]>='a' && str[i]<='z' || str[i]>='A' && str[i]<='Z') letter ++; /*统计英文字符*/else if (str[i] >= '0' && str[i] <= '9' )digit ++; /*统计数字字符*/else if (str[i] == ' ' )space ++; /*统计空格*/elseothers ++; /*统计其他字符的个数*/ }printf("English character: %d\n", letter);printf("digit character: %d\n", digit);printf("space: %d\n", space);printf("other character: %d\n", others);}7.6(1)#include <stdio.h>int FindMax(int num[], int n, int *pMaxPos);int FindMin(int num[], int n, int *pMinPos);main(){int num[10], maxValue, maxPos, minValue, minPos, i;printf("Input 10 numbers:\n ");for (i=0; i<10; i++){scanf("%d", &num[i]); /* 输入10个数*/ }maxValue = FindMax(num, 10, &maxPos); /* 找最大值及其所在下标位置*/minValue = FindMin(num, 10, &minPos); /* 找最小值及其所在下标位置*/printf("Max=%d, Position=%d, Min=%d, Position=%d\n",maxValue, maxPos, minValue, minPos);}/* 函数功能:求n个数中的最大值及其所在下标位置函数入口参数:整型数组num,存储n个整数整型变量n,表示数组元素个数函数出口参数:整型指针变量pMaxPos,指向的地址单元存储最大值在数组中的下标位置函数返回值:最大值*/int FindMax(int num[], int n, int *pMaxPos){int i, max;max = num[0]; /*假设num[0]为最大*/*pMaxPos = 0; /*假设最大值在数组中的下标位置为0 */for (i = 1; i < n; i++){if (num[i] > max){max = num[i];*pMaxPos = i;}}return max ;}/* 函数功能:求n个数中的最小值及其所在下标位置函数入口参数:整型数组num,存储n个整数整型变量n,表示数组元素个数函数出口参数:整型指针变量pMinPos,指向的地址单元存储最小值在数组中的下标位置函数返回值:最小值*/int FindMin(int num[], int n, int *pMinPos){int i, min;min = num[0]; /*假设num[0]为最小*/*pMinPos = 0; /*假设最小值在数组中的下标位置为0 */for (i = 1;i < 10;i++){if (num[i] < min){min = num[i];*pMinPos = i;}}return min ;}(2)#include <stdio.h>void FindMax(int num[], int n, int *pMax, int *pMaxPos);void FindMin(int num[], int n, int *pMin, int *pMinPos);main(){int num[10], maxValue, maxPos, minValue, minPos, i;printf("Input 10 numbers:\n ");for (i=0; i<10; i++){scanf("%d", &num[i]); /* 输入10个数*/ }FindMax(num, 10, &maxValue, &maxPos); /* 找最大值及其所在下标位置*/FindMin(num, 10, &minValue, &minPos); /* 找最小值及其所在下标位置*/printf("Max=%d, Position=%d, Min=%d, Position=%d\n",maxValue, maxPos, minValue, minPos);}/* 函数功能:求n个数中的最大值及其所在下标位置函数入口参数:整型数组num,存储n个整数整型变量n,表示数组元素个数函数出口参数:整型指针变量pMaxPos,指向的地址单元存储最大值在数组中的下标位置整型指针变量pMax,指向的地址单元存储最大值函数返回值:无*/void FindMax(int num[], int n, int *pMax, int *pMaxPos){int i;*pMax = num[0]; /*假设num[0]为最大*/*pMaxPos = 0; /*假设最大值在数组中的下标位置为0 */for (i = 1; i < n; i++){if (num[i] > *pMax){*pMax = num[i];*pMaxPos = i;}}}/* 函数功能:求n个数中的最小值及其所在下标位置函数入口参数:整型数组num,存储n个整数整型变量n,表示数组元素个数函数出口参数:整型指针变量pMinPos,指向的地址单元存储最小值在数组中的下标位置整型指针变量pMin,指向的地址单元存储最小值函数返回值:无*/void FindMin(int num[], int n, int *pMin, int *pMinPos){int i;*pMin = num[0]; /*假设num[0]为最小*/*pMinPos = 0; /*假设最小值在数组中的下标位置为0 */for (i = 1;i < 10;i++){if (num[i] < *pMin){*pMin = num[i];*pMinPos = i;}}}(3)#include <stdio.h>void FindMaxMin(int num[], int n, int *pMax, int *pMaxPos, int *pMin,int *pMinPos);main(){int num[10], maxValue, maxPos, minValue, minPos, i;printf("Input 10 numbers:\n ");for (i=0; i<10; i++){scanf("%d", &num[i]); /* 输入10个数*/ }/*找最大值最小值及其所在下标位置*/FindMaxMin(num, 10, &maxValue, &maxPos, &minValue, &minPos);printf("Max=%d, Position=%d, Min=%d, Position=%d\n",maxValue, maxPos, minValue, minPos);}/* 函数功能:求n个数中的最大值和最小值及其所在下标位置函数入口参数:整型数组num,存储n个整数整型变量n,表示数组元素个数函数出口参数:整型指针变量pMaxPos,指向的地址单元存储最大值在数组中的下标位置整型指针变量pMax,指向的地址单元存储最大值整型指针变量pMinPos,指向的地址单元存储最小值在数组中的下标位置整型指针变量pMin,指向的地址单元存储最小值函数返回值:无*/void FindMaxMin(int num[], int n, int *pMax, int *pMaxPos, int *pMin,int *pMinPos){int i;*pMax = num[0]; /*假设num[0]为最大*/*pMaxPos = 0; /*假设最大值在数组中的下标位置为0 */*pMin = num[0]; /*假设num[0]为最小*/*pMinPos = 0; /*假设最小值在数组中的下标位置为0 */for (i = 1; i < n; i++){if (num[i] > *pMax){*pMax = num[i];*pMaxPos = i;}else if (num[i] < *pMin){*pMin = num[i];*pMinPos = i;}}}7.8(1)#include <stdio.h>#include <string.h>void Inverse(char *pStr);main(){char str[80];printf("Input a string:\n");Inverse(str); /*将存于str数组中的字符串逆序存放*/printf("The inversed string is:\n");puts(str); /*输出字符串*/}/*函数功能:实现字符串逆序存放函数参数:字符指针变量,所指向的存储单元存放源字符串,逆序后的字符串也存放于此返回值:无*/void Inverse(char *pStr){int len;char temp;char *pStart; /*指针变量pStart指向字符串的第一个字符*/char *pEnd; /*指针变量pEnd指向字符串的最后一个字符*/len = strlen(pStr); /*求出字符串长度*/for (pStart=pStr,pEnd=pStr+len-1; pStart<pEnd; pStart++,pEnd--){temp = *pStart;*pStart = *pEnd;*pEnd = temp;}}(2)#include <stdio.h>#include <string.h>void Inverse(char *pStr);main(){char str[80];printf("Input a string:\n");gets(str); /*输入字符串*/Inverse(str); /*将存于str数组中的字符串逆序存放*/printf("The inversed string is:\n");}/*函数功能:实现字符串逆序存放函数参数:字符指针变量,所指向的存储单元存放源字符串,逆序后的字符串也存放于此返回值:无*/void Inverse(char *pStr){int len = 0;char temp;char *pStart = pStr; /*指针变量pStart指向字符串的第一个字符*/ char *pEnd; /*指针变量pEnd指向字符串的最后一个字符*/for (; *pStart!='\0'; pStart++) len++; /*求出字符串长度*/for (pStart=pStr,pEnd=pStr+len-1; pStart<pEnd; pStart++,pEnd--){temp = *pStart;*pStart = *pEnd;*pEnd = temp;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void swap(int *p1,int*p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;Βιβλιοθήκη }#include <stdio.h>
void main()
{
void swap(int *p1,int*p2);
int a=2,b=5;
int *p1,*p2;
p1=&a; p2=&b;
swap(p1,p2);
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d\n",*p1,*p2);
if(fp==NULL)
{
printf("cannot open test.dat file.\n");
exit(0);
}
while(!feof(fp))
{
ch=fgetc(fp);
putchar(ch);
}
putchar('\n');
fclose(fp);
}
(本题10分)读下面的程序,请写出程序的执行结果,并注释程序第7和第10行的含义。
2012年春季学期
科目:C语言与程序设计(B卷)适用年级、专业:2011级信息与计算科学专业
(本题15分)选择题(每小题3分),每4个选择中只有一个是正确的,并把答案填在本题末尾的圆括号中.
1.用一种称为程序的软件把用高级语言写的程序转换为机器指令的程序,然后让计算机执行机器指令,最后得到结果。()
5.静态局部变量的值能修改。()
A.一次B.二次C.三次D.多次
(本题15分)判断对错,每小题3分.把“对”或“错”答案填在每题后面的圆括号中.
1.一维数组名和指针变量是一样的。()
2. for语句与while语句的作用是完全可以互相替换的。()
3. C语言的函数可以使用return语句一次返回多个值。()
A.汇编B.编译C.翻译D.源
2.一个有效算法应该有个输入。()
A. 0 B.多个C. 0个或多个D. A、B和C都不对
3.已知a=1,b=2,c=3,则逻辑表达式a+c>b && b==c的值是。()
A. 1 B. 2 C. 3 D. 0
4.赋值语句是在赋值表达式的末尾加一个构成的。()
A.分号B.逗号C.句号D.冒号
(本题10分)有一个函数
试编写一个程序,输入x值,输出y相应的值。
(本题10分)有一个分数序列如下
试编写程序,求出这个数列的前20项之和。
(本题10分)试编写一个递归函数,将一个整数n转换成字符串。例如,输入483,应输出字符串"483"。n的位数不确定,可以是任意位数的正整数或0。
(本题10分)13个人围成一个圈,从第1个人开始报号1,2,3,4。凡是报到4者退出圈子。找出最后留在圈子中的人原来的序号。试建立一个单链表实现上述要求。
4.在C语言的函数中,只能从实参传到形参的单向传递。()
5.在C语言中,字符类型的值可以作为整型来处理。()
(本题10分)下面是5个字符串,请判断它们哪些是用户自己可以定义的合法标识符,哪些不是合法的标识符。每个判断对了得2分,不对不得分。
_xyab123x-y1.c while
合法的标识符是:
不合法的标识符是:
(本题10分)读下面的程序,对程序的第7、13、15和19行进行注释,并写出程序的执行结果。如果test.dat文件的内容是:computer#
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
char ch;
fp=fopen("test.dat","r");