C语言程序设计期末考试卷A卷B附答案_第1页
C语言程序设计期末考试卷A卷B附答案_第2页
C语言程序设计期末考试卷A卷B附答案_第3页
C语言程序设计期末考试卷A卷B附答案_第4页
C语言程序设计期末考试卷A卷B附答案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、?C语言程序设计?期末考试卷A/卷B/附答案?C语言程序设计?期末考试卷A附答案单项选择题1.指针s所指字符串的长度为char*s=NameAddressn;A) 19 B) 15C) 182.假设有下面的程序片段:int a12=0, *p3, *pp, i; for(i=0;i8; y=+i)printf(%d , %d , x-,y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 16.下面程序的输出是void prtv(int *x)printf(%dn, +*x);main() int a=25;prtv(&a);A) 23 B)

2、 24C) 25D) 267.下面能正确进行字符串赋值操作的语句是A)char s5=ABCDE; B)char s5=A、B、C、D、E;C) char *s;s=ABCDEF; D)char *s; scanf(%s , s);A) a0B) !a4.假设已定义:C) a=0D) aD说明不合法a不等于0的关系,那么能正确表示这一关系的表达式为8.设x,y,z,t均为int型变量,那么执行以下语句后,t的值为x=y=z=1;t=+x|+y&+z;A)不定值B)2C)1D)09.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,那么不能正确执行的语句是A)k=*p

3、1+*p2;B)p2=k;C)p1=p2;D)k=*p1 *(*p2);10.请读程序:#include#define SUB(X,Y) (X)*Ymain() int a=3, b=4;printf(%d, SUB(a+, b+);上面程序的输出结果是A) 12B) 15C) 16D) 2011. sizeof(float)是:A)intB)float C)double D) 不确定12.假设执行下面的程序时从键盘上输入3和4,那么输出是main() int a,b,s;scanf(%d %d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%dn,s);

4、A) 14B) 16C) 1813.以下程序的输出结果是# include main() printf(%dn,NULL); A)不确定的(因变量无定义)B)014.请读程序:#includef(char *s) char *p=s;while( *p!=0) p+;return(p-s);main() printf(%dn,f(ABCDEF);上面程序的输出结果是15.下面各语句行中,能正确进行赋字符串操作的语句行是B) char s5=A,B,C,D,E;D) char *s; scanf(%s,s);16.假设有说明:long *p , a;那么不能通过scanf语句正确给输入项读入D)

5、 20C)-1D)1A) 3B) 6C) 8D) 0A) char st45=ABCDE;C) char *s; s=ABCDE;数据的程序段是A)*p=&a;scanf(%ld,p);B)p=(long *)malloc(8);scanf(%ld,p);C)scanf(%ld,p=&a);D)scanf(%ld,&a);17.假设已定义:int a9, *p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式是A) p+1 B) a+1 C) a+ D) +p18.下面程序的输出是main() enum team my,your=4,his,her=his+1

6、0;printf(%d %d %d %dn,my,your,his,her);A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15D) 1 4 5 1519.以下程序输出结果是main( ) int m=5;if(m+5)printf(%dn,m);else printf(%dn,m-); A)7B)6C)5D)420.以下程序运行后,输出结果是int d=1;fun(int p) int d=5;d+=p+;printf(%d,d);main() int a=3;fun(a);d+=a+;printf(%dn,d);A)84B)99C)95D)4421.按照C语言规定的用户标

7、识符命名规那么,不能出现在标识符中的是() 。A)字母B)数字C)下划线D)连接符22.计算机能直接执行的程序是() 。A)源程序B)目标程序C)可执行程序D)汇编程序23.有以下定义语句,编译时会出现编译错误的选项是( ) 。A)char a=a; B)char a=n;C)char a=aa;D)char a=t;24.以下选项中正确的定义语句是() 。A)double a; b; B)double a=b=7;C)double a=7, b=7; D)double, a, b;25.以下不能正确表示代数式2ab除cd的C语言表达式是() 。A)2*a*b/c/d B)a*b/c/d*2C

8、)a/c/d*b*2D)2*a*b/c*d26.假设变量均已正确定义并赋值,以下合法的C语言赋值语句是()。A)x=y=5;B)x=n%2.5;C)x+n=1; D)x=5=4+1;27.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()A)k+ B)k+=1C)+k D)k+128.以下选项中,当x=3时,值为0的表达式是()。A)x%2=1B)x/2C)x%2!=0D)x%2=029.以下关于C语言文件的表达中正确的选项是()。A)文件是由一组相关数据组成,只能构成二进制文件B)文件是由一组相关结构组成,可以构成二进制文件或文本文件C)文件是由一组相关数据

9、组成,可以构成二进制文件或文本文件D)文件是由一组相关数据组成,只能构成文本文件30.以下表达中错误的选项是() 。A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种根本结构组成C)使用三种根本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法31 .有以下程序#include void main() char c1,c2;c1=A+-84;c2=A+-58;printf(“%c,n%d ,c1,c2);字母A的ASCII码为65,程序运行后的输出结果是()A) E,68 B) D,69 C) E,D D)输出无定值32.字符A的ASCH代码值是65,字符

10、变量cl的值是A, c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出结果是()。A)A,BB)A,68C)65,66 D)65,6833.假设变量已正确定义为int型,要通过语句scanf(%d,%d,%d, &a, &b, &c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的选项是()。A)1,2,3B)123C)1, 2, 3D)1,2,334.在嵌套使用if语句时,C语言规定else总是()。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配

11、对35.以下关于逻辑运算符两侧运算对象的表达中正确的选项是() 。A)只能是整数0或1 B)只能是整数0或非0的整数C)可以是结构体类型的数据D)可是任意合法的表达式36.有以下程序段int a, b, c;a=10; b=50; c=30;if (ab) a=b, b=c; c=a;printf(a=%d b=%d c=%dn , a, b, c);程序的输出结果是()。A)a=10 b=50 c=10 B)a=10 b=50 c=30C)a=10 b=30 c=10D)a=50 b=30 c=5037.以下表达中正确的选项是A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命

12、令行都以“#开头C)每个C程序必须在开头包括预处理命令行:#includeD)C语言的预处理不能实现宏定义和条件编译的功能38.以下表达中正确的选项是() 。A)break语句只能用于switch语句题中B)在switch语句中必须使用defaultC)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同39.有以下程序#include void main() int i,j,m=55;for(i=1;i=3;i+)for(j=3;j=i;j+) m=m%j;printf(%dn,m);程序的运行结果是()。A)0 B)1C)2

13、D)340.有以下程序#includevoid main() int i, j;for(i=3; i=1; i-)for(j=1; j=2; j+)printf(%d, i+j);程序的运行结果是()。A)2 3 4B)4 3 2 3 4 5 5 4 3C)2 3 D)4 5 3 4 2 341.以下关于字符串的表达中正确的选项是()。A)C语言中有字符串类型的常量和变量B)两个字符串中的字符个数相同时才能进行字符串大小的比拟C)可以用关系运算符对字符串的大小进行比拟D)空串一定比空格打头的字符串小42.假设有定义语句:int m=5,4,3,2,1,i=4;,那么下面对m数组元素的引用中错误

14、的选项是()。A)m-iB)m2*2C)mm0 D)mmi43.假设有定义语句:char s10=123456700;,贝U strlen(s)的值是()。A)7B)8C)9D)1044.有定义语句:char s10;,假设要从终端给s输入5个字符,错误的输入语句是()。A)gets(&s0);B)scanf(“%s,s+1);C)gets(s); D)scanf(“%s,s1);45.对于一个正常运行的C程序,以下表达中正确的选项是()。A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数

15、开始,在程序的最后一个函数中结束D程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束46.假设函数调用时的实参为普通变量时,以下关于函数形参和实参的表达中正确的选项是 。A函数的实参和其对应的形参共占同一存储单元B形参只是形式上的存在,不占用具体存储单元C同名的实参和形参占同一存储单元D函数的形参和实参分别占用不同的存储单元47.以下表达中错误的选项是。A C程序是由一个或一个以上的函数组成B函数调用可以作为一个独立的语句存在C假设函数有返回值,需要通过return语句返回D C函数必须有形式参数48.在C函数的定义和调用中,下面描述正确的选项是。A函数的定义可以嵌套,函数的调用

16、不可以嵌套B函数的定义不可以嵌套,函数的调用可以嵌套C函数的定义和调用都不可以嵌套D函数的定义和调用都可以嵌套49.假设在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,那么能正确执行的语句 是。A) scanf%d,a,b,c;B) scanf%d%d%d,a,b,c;C) scanf%d,p;D) scanf%d,&p;50.以下关于指针变量的说法中,错误的选项是。A定义指针变量时,必须指定基类型B定义指针变量时,可以先不指定基类型C一个指针变量,只能指向同类型的变量D指针变量的值是地址二、 填空题1 .程序由主要由 、组成。2.在C语言中,不同运

17、算符之间运算次序存在 的区别,同一运算符之间运算次 序存在4的规那么。3.欲将字符串S1复制到字符串S2中,其语句是 。4.结构化程序设计中的三种根本结构是6、8。5.表达式x=x+1表示成增量表达式为 。6.定义int a口=1 , 2, 3, 4, 5, 6 , *p = a;表达式* + +p+ +的值是107.假设a=5, b=6, c=7, d=8,那么表达式d=a/2&b=c|!a的值为8.定义int x=10,y,z;执彳f y=z=x;x=y=z后,变量x的值为。9.分段函数:输入x,计算y值,出v,其中:x0,y=x+7/3#include main()int x,y

18、;scanf(%d,&x);if(x0);_(2)y=0;(3)y=(x+7)/3;printf(%d ,y);10.由键盘输入三个数,计算以这三个数为边长的三角形面积。(1main()(2)_J_printf(Please enter 3 reals:n);scanf(%f%f%f,&a,&b,&c);if( (3) J_ s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s= (4) ;_printf(nArea of the triangle is %fn,s);_printf(It is not triangle!n);三、判断题

19、1 .在不得已的情况下(例如提高程序运行效率),才使用goto语句()2.条件表达式可以取代if语句,或者用if语句取代条件表达式()3.在C程序中对用到的所有数据都必须指定其数据类型()4.可以对字符型数组进行整体输入、输出()5.函数中的静态变量在函数每次调用时,都会重新设置初值()6.实参和与其对应的形参共占用一个存储单元()7.一个实型变量的值肯定是精确的()8.在不同函数中可以使用相同名字的变量()9.函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2连接到串strl之后再将串strl复制 到串$什3中()10.系统不允许用户重新定义标准库函数

20、(11.程序调试通常也称为Debug。()12.程序中的每一行只能写一条语句。 13.main可作为用户标识符。 14.标识符大小写敏感。15.单目、三目和赋值运算符的结合性为从右到左。16.在程序运行期间,其值不能被改变的量称为常量。17.C程序可以由一个或多个函数组成。18.只有一个分号“;的语句称为空语句,空语句不合法,编译时会报错。 19.用花括号“把一些语句括起来构成的复合语句,可以出现在允许语句出现的任何地方。 20.在C程序中main函数的位置是固定的。21.逻辑运算中,逻辑非“!的优先级最高,逻辑与“&次之,逻辑或“|最低。 22.switch语句可以嵌套使用,而if语

21、句不可以嵌套使用。 23.else子句不能作为语句单独使用,它需要与if配对使用。24.while循环语句可以嵌套使用,for循环语句不可以嵌套使用。 25.continue语句只能用于循环语句中。 26.数组中元素的下标是从0开始的。 27.被定义的数组长度与提供的初值的个数不同时,数组长度仍然可以省略。28.用户定义的函数,必须包含return语句。 29.函数定义的先后顺序与其被调用的先后次序无关。30.当局部变量有效时,同名的全局变量不起作用。四、程序填空或运行结果1.下面程序的运行结果是_。#include mainint i=5;char c6=abcd;doci=ci-1;whi

22、le-i0;putsc;2.以下程序的执行结果是_。#includemainint a33=1,2,3,4,5,6,7,8,9,i,s=0;fori=0;i=2;i+s=s+aii;printfs=%dn,s;3.以下程序中,for循环体执行的次数是 _ 。#define N 2#define M N+1#define K M+1*M/2main() int i;for(i=1;i=A&ch=Y)ch=_;return ch; 6.程序的输出结果。#include main( ) int x5, i, j;void m1(int *p);void m2(int,int);for ( i

23、=0; i5; i+ ) xi=i+i;m1(x);m2( x0, x4 );printf (%d , %dn, x0 , x4);void m1( int *p ) int i;for ( i=0; i5; i+ )* +p+=2;void m2 ( int i , int j ) int a;a=i; i=j; j=a;7.下 面 程 序 的 输 出 结 果 。#include void swap1 (int a,int b) int c;c=a; a=b; b=c;void swap2(int *pa, int *pb) int c;c=*pa; *pa=*pb; *pb=c;main(

24、 ) int a=100, b=200;swap1(a, b);swap2(&a, &b);printf (a=%d, b=%dn, a, b);8.#include void main()int a8=1,0,1,0,1,0,1,0,i;for(i=2;i8;i+)ai+= ai-1 + ai-2;for(i=0;i8;i+)printf(“%5d,ai);9.#include void main()float b6=1.1,2.2,3.3,4.4,5.5,6.6,t;int i;t=b0;for(i=0;i5;i+)bi=bi+1;b5=t;for(i=0;i6;i+)pr

25、intf(“%6.2f,bi);10.#include void main() int p7=11,13,14,15,16,17,18,i=0,k=0;while(i7 & pi%2) k=k+pi; i+; printf(k=%dn,k);11 .void main() int a33=1,3,5,7,9,11,13,15,17;int sum=0,i,j;for (i=0;i3;i+)for (j=0;j3;j+) aij=i+j;if (i=j)sum=sum+aij;printf(sum=%d,sum);12.void main() int a44,i,j,k;for (i=0

26、;i4;i+)for (j=0;j4;j+)aij=i-j;for (i=0;i4;i+) for (j=0;j=i;j+)printf(%4d,aij);printf(n);13.#include main() int i,s;char s1100,s2100;printf(input string1:n); gets(s1);printf(input string2:n); gets(s2);i=0;while (s1i=s2i)&(s1i!=0)i+;if (s1i=0)&(s2i=0) s=0;else s=s1i-s2i;printf(%dn,s);输入数据aidan

27、d14.void main()char ch35= AAAA,BBB,CC;printf(%sn,ch1);五、编程题1.编写int day(int k, int m, int n),其功能是:返回小蚕需要多少天爬到树顶(树高k厘米,小蚕每天白天向上爬m厘米,每天晚上因睡觉向下滑n厘米,爬到顶后不再下滑)nmc)&(b+ca)&(c+ab)(4) sqrt(s1)(5) else三、判断题1-5xxVxx6-10X x Vx V16-20 VV xVx21-25VxVxV四、程序填空1. aabcd2. s =153. 44. *t+5. A,ch+16. 0,107 a=20

28、0,b=1008.1 0 2 2 5 7 13 209.2.20 3.30 4.40 5.50 6.60 1.1010. k=2411. sum=612.01021 032 1 013. -514.“BBB11-15vzX XvV26-30 V X XW五、编程题1. #include int day( int k, int m, int n ) int days, height = 0;for(days = 1; days +) height += m;if ( height = k ) return days;height -= n;int main() int k, m, n;print

29、f(nPlease enter 3 numbers: );scanf(%d %d %d, &k, &m, &n );printf( nFor %d days, worm will be at the top.,day(k,m,n); return 0;2. #include stdio.h#include string.h/#include conio.hint fun(char *str,char *substr) int i,n=0,s=strlen(str);for(i=0;is;i+)if(stri=substr0)&(stri+1=substr1)n+

30、;return n;main()char str81,substr3;int n; /clrscr();printf(enter 1:);gets(str);printf(enter 2:);gets(substr);puts (str);puts(substr);n=fun(str,substr);printf(n=%dn,n);3.程序代码如下:#include int main()int x,y,z;int t;printf(Please input 3 integers: );scanf(%d%d%d,&x,&y,&z);if (xy)t=x; x=y; y=t

31、;if (xz)t=x; x=z; z=t;if (yz)t=y; y=z; z=t;printf(The result is %d %d %dn,x,y,z);4.程序代码如下:#include #include int main()float a,b,c;float delta;float x1,x2;printf(Please input a b c of the solution: );scanf(%f%f%f,&a,&b,&c);delta=b*b-4*a*c;if (delta0)printf(No roots!n);else if (delta=0)pri

32、ntf(x1=x2=%fn,-b/(2*a);elsex1=(-b+sqrt(delta)/2;x2=(-b-sqrt(delta)/2;printf(x1=%f x2=%fn,x1,x2);5.程序代码如下:#include #include #define MAX 100void main()char sMAX;int i;printf(Please input a string: );gets(s);for (i=0; i=a & si=A & si=Z) si=si-A+a;printf(The result is %sn,s);6.程序代码如下:#include #d

33、efine N 5struct PersonInfochar Name50;float Salary;int Age;void main()struct PersonInfo dataN;int i;printf(Please input data: );for (i=0; iN; i+)scanf(%s%f%d,datai.Name,&datai.Salary,&datai.Age);for (i=0; iN; i+)datai.Salary*=1.3;datai.Age+;printf(NamettSalaryttAgen);for (i=0; i0) B) (x-y0)

34、C) (x-y0)D) (x-y=0)6.以下关于long、int和short类型数据占用内存大小的表达中正确的选项是()。A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定7.设有定义:int x=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。A) x+B) x+=1 C) +x D) x+18.假设有定义语句:int x=10;,那么表达式x-=x+x的值为()。A) -20 B) -10C) 0 D) 109.有以下程序void main() int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,

35、%dn,x,y,z);程序运行后的输出结果是()。A) 2,3,3 B) 2,3,2C) 2,3,1 D) 2,2,110.以下表达中正确的选项是()。A) C语言是一种非结构化程序设计语言B结构化程序有顺序、分支、循环三种根本结构组成C使用三种根本结构构成的程序只能解决简单问题D结构化程序设计不提倡模块化的设计方法11 .有以下程序#include void main() char e1,e2;e1=A+-48;e2=A+-58;printf(“%c,n%d ,e1,e2); 字母A的ASCII码为65,程序运行后的输出结果是()A) E,68 B) D,69 C) E,D D)输出无定值1

36、2.有以下程序void main() int a=0,b=0;a=10; /*给a赋值b=20;给b赋值*/printf(a+b=%dn,a+b);程序运行后输出结果是()。A) a+b=10B) a+b=30C) 30 D)出错13.有以下程序#include void main() int a=1,b=0;printf(“%d,b=a+b);printf(“n%d,a=2*b); 程序运行后的输出结果是()。A)0,0 B)1,0 C)3,2 D)1,214.执行以下程序段后,w的值为()。int w=A, x=14, y=15;w=(x | y)&(wb) a=b, b=c; c

37、=a; printf(a=%d b=%dc=%dn , a, b, c);程序的输出结果是()。A)a=10 b=50 c=10B)a=10 b=50 c=30 C)a=10 b=30 c=10D)a=50 b=30 c=5017.当变量c的值不为2、4、6时,值也为“真的表达式是()。A)(c=2)|(c=4)|(c=6)B)(c=2&c=2&c=2&c=6)&(c%2!=1)18.以下表达中错误的选项是() 。A)break语句只能用于switch语句中B)在switch语句中可以不使用defaultC)break语句只能用在循环体内和switch语句体内D

38、)在循环体内使用break语句和continue语句的作用不相同19.有以下程序#include void main() int i,j,m=55;for(i=1;i=3;i+)for(j=3;j=i;j+) m=m%j;printf(%dn,m);程序的运行结果是()。A)0 B)1C)2 D)320.有以下程序#includevoid main() int i, j;for(i=3; i=1; i-)for(j=1; j=2; j+)printf(%d, i+j);程序的运行结果是()。A)2 3 4B)4 3 2 3 4 5 5 4 3C)2 3 D)4 5 3 4 2 321.以下关于

39、字符串的表达中错误的选项是() 。A)C语言中没有字符串类型的常量和变量B)两个字符串中的字符个数不相同时,也能进行字符串大小的比拟C)不能简单用关系运算符对字符串的大小进行比拟D)空串不一定比空格打头的字符串小22.假设有定义语句:int n=5,4,3,2,1,i=4;,那么下面对n数组元素的引用中错误的选项是()。A)n-iB)n2*2C)nn0D)nni23.假设有定义语句:char s10=abcdefgh00;,贝U strlen(s)的值是()。A)11B)10C)9 D)824.有定义语句:char s10;,假设要从终端给s输入5个字符,错误的输入语句是()。A)gets(&

40、amp;s0); B)scanf(“%s,s+1); C)gets(s); D)scanf(“%s,s1);25.函数调用func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8);语句中,func函数的实参个数是()A)3B)4 C)5 D)826.假设函数调用时的实参为普通变量时,以下关于函数形参和实参的表达中正确的选项是()。A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元27.以下表达中正确的选项是() 。A)C程序是由一个或一个以上的

41、函数组成B)函数调用不可以作为一个独立的语句存在C)C程序的根本构成单位是语句D)C函数必须有形式参数28.在C函数的定义和调用中,下面描述正确的选项是()。A)函数的定义可以嵌套,函数的调用不可以嵌套B)函数的定义不可以嵌套,函数的调用可以嵌套C)函数的定义和调用都不可以嵌套D)函数的定义和调用都可以嵌套29.假设在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,那么不能正确执行的语句是() 。A)scanf(%d,&a);B)scanf(%d%d%d,&a,&b,&c);C)scanf(%d,p);D)scanf(%dn,p

42、);30.以下关于指针变量的说法中,错误的选项是()。A)定义指针变量时,必须指定基类型B)定义指针变量时,可以先不指定基类型C)一个指针变量,只能指向同类型的变量D)指针变量的值是地址31 .十进制正整数17的二进制表示形式为() 。A)10010001B)00010001C)11101110 D)0000111132 .不属于十进制小数合法表示形式的是() 。A)0.123 B)-12.35C).98 D)4233 .用户定义的标识符命名规那么不包括( ) 。A)标识符只能由英文字母、数字、下划线组成。B)标识符必须以字母或下划线开头。C)允许使用C关键字为标识符命名。D)标识符包含字符长

43、度一般会有最大长度限制,与编译器相关。34 .不能正确完成变量赋值的是() 。A) int a, b, c;a=0;b=0;c=0;B) int a, b, c;a=b=c=0;C) int a=0, b=0, c=0;D) int a=0; b=0; c=0;35 .C语言中,1/2与1.0/2的结果分别是()。A)0,0.5B)0.5,0C)0,0D)0.5,0.536:程序#include void main()int n=3;printf(%d, n+);printf(%d, +n);的输出结果是() 。A)35 B)45 C)34 D)4437.#include 第2行void ma

44、in()double r;printf(Input r:);scanf(%lf, &r);printf(circumference = %fn, 2*PI*r);printf(area = %fn, PI*r*r);上述程序的功能是计算圆的周长和面积,可以正确补充“第2行 的选项是 () 。A)#definePI 3.14159;B)#define PI 3.14159C)#definePI=3.14159D)#define PI=3.14159;38.int m=5, n=2;,那么输出结果与其他选项不同的是()。A)printf(%fn,m/(float)n); B)printf(

45、%fn,(float)m/n);C)printf(%fn,(float)(m/n);D)printf(%fn,(float)m/(float)n);39 .不属于C语言字符常量的是() 。A) a B) 3C) ab D) n40.char ch;,那么不能完成变量ch赋值的是()。A)scanf(“%c,&ch); B)ch=getchar();C)getchar(ch);D)ch=A;41 .程序#include int main()int a=3;int b=5;int c=0;if(ab)c=1;c=2;printf(%dn,c);return 0;的输出结果是() 。A)0

46、B)1C)2 D)342.数学表达式abc,在C程序当中的正确表示是A)abcB)ac & bc C)ab | bcD)ab & bc43 .程序#include void main()int i;int n=5;int sum=0;for(i=1;i=n;i+)sum+=i;printf(%dn,sum);的执行结果是() 。A)输出15 B)输出10C)输出14 D)输出1344 .程序#include void main()int i, n=5;for(i=1;i=n;i+)if(i%2=0)break;printf(%d,i);的执行结果是() 。A)输出1 B)输出1

47、2C)输出135 D)输出123545 .程序段:#include int a,b;void main()int x,y;void f()以下说法正确的选项是: ( )A) a, b, x, y都不是全局变量,但作用域相同B) a, b是全局变量,x, y是局部变量,作用域不相同C) a, b是局部变量,x, y是全局变量,作用域不相同D) a, b, x, y都是全局变量,但作用域不相同二、填空题1 .C语言程序开发的四个步骤是:编辑、执行。2.假设a=10, b=20,那么表达式!a0 & b=c的值是。4. C语言中的标识符只能由 、组成。5.C语言中,逻辑“真等价于。6.有如下

48、输入语句:scanf %dd, %d ,&a,&b,&c;为使变量a的值为1,b的值为3, c的 值为2,从键盘输入数据的正确形式应是。7.符号韶,的区另。8. float f=3.1415927;printf f,%5.4f,%3.3f ,f,f,f;那么程序的输出结果是。9. C语言中唯一的三元运算符是。10.设有:int a=3,b=4,c=5,贝U !ab&!c|1的值为。11 .表达整型变量a能被3整除但不被5整除的表达式是。12.利用操作符+,语句序列p=p+1;f=p;的功能可以由一个语句完成,这个语句是13.一个函数由两局部组成,它们是 和。14

49、.一个C源程序至少包含一个 ,即。15.设int a=12;那么表达式a/=a+a的值是。16.表达式x=a=3,6*a和表达式x=a=3,6*a分别是 表达式和 表达式,两个表达式执行完的结果分别是 和, x值分别是和。17.在C语言中,实数有两种表布形式, 即 和。18.在C语言中,运算符的优先级最小的是 运算符。三、判断题,正确的画,错误的画X1.计算机硬件只能执行可执行程序。2.C语言的一条语句只能写在一行上。 3.void可作为用户标识符。4.相同字母的大小写在C中表示不同的含义。5.C中所有运算符的结合性都是从左向右。6.用一对单引号括起来的一个字符称为字符常量。7.用一对双引号括

50、起来的零个或多个字符序列称为字符串常量。8.变量命名可以不遵循标识符的命名规那么。 9.函数调用语句由函数调用加上分号组成。10.关系运算符中,小于、小于等于、大于、大于等于的优先级低于等于、不等于的优先级。11.逻辑运算中,逻辑非“! 的优先级最高,逻辑与“&、逻辑或“|的优先级相同。12.单分支if语句可以嵌套使用,双分支if语句不可以嵌套使用。13.C程序中,可以单独使用else子句。 14.while循环语句可以嵌套使用。15.continue语句只能用于循环语句中。16.每个数组元素都表示一个变量。17.对被定义数组的全部元素赋初值时,数组长度可以省略。18.void类型函数

51、,不需要return语句进行返回值操作。19.函数定义的先后顺序决定了其被调用的先后次序。20.当局部变量有效时,同名的全局变量不起作用。21.常量就是在程序中不能改变其值的量。22.变量的值在程序执行过程中是可以改变的。23.main函数指定了C程序执行的起点,在C程序中可以出现屡次。24.C语言区分大小写。25 .注释/* */可以嵌套使用。 26 . sizeof是C语言的关键字,不是函数名。27 .求余运算限定参与运算的两个操作数必须为整型。28 . int型操作数和float型操作数进行算术运算时,先统一转换为double型,冉进行运算。29 .如果函数scanf的格式控制字符串中存

52、在除格式说明符以外的其他字符,那么这些字符必须在输入数据时由用户从键盘原样输入。30 . 6个关系运算符、=、=、!=的优先级相同。31 . switch当中的default语句不是必须的。32 .逻辑运算符!、|、&的优先级相同。33 .仅由一个分号构成的语句,称为空语句。 34 .函数既可以嵌套定义,又可以嵌套调用。 35 .当函数定义出现在函数调用之前时,函数原型是可以省略的。 四、程序结果填空题1.#include int main(void)int a = 10, b = 3;float x = 4.5, y = 9;printf(%fn, (float)(a*b)/2);p

53、rintf(%dn, (int)x % (int)y);return 0;2. #include int main(void)int a = 20, b = 80, x, y;x = a+;Y = - -b;printf(%d %dn, x, y);printf(%d %dn, a, b);return 0;3.假设运行时输入100/,写出运行结果。#include int main(void)int a ;scanf(%d, &a);printf(%c, (a%2 != 0) ? Y: N);return 0;4.#include int main(void)int x=26587,x1,r,sum=0;x1=x;while(x0)r=x%10;sum+=r;x/=10;printf( Sum of the digits in %d is %dn, x1,sum);return 0;5.main() int x,y;scanf(%2d%*2d%ld,&x,&y);printf(%dn,x+y);执行时输入:12345676.main() int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论