大连交通大学计算机C语言期末
本试卷为大连交通大学计算机C语言期末,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
计算机C语言期末
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、若变量已正确定义并赋值,符合c语言语法的表达式是________。
( C )
2、有以下程序 typedef struct { char name[9]; char sex; float score [2]; } stu; stu f(stu a) { stu b={"zhao", 'm', 85.0, 90.0}; int i; strcpy(a.name, b.name); a.sex=b.sex:; for(i=0;i<2;i++) a.score[i]=b.score[i]; return a: } main() { stu c= { "qian", 'f', 95.0, 92.0 }; stu d=f(c); printf("%s, %c, %2.0f, %2.0f", d.name, d.sex, d.score[0], d.score[1]); ) 程序的运行结果是________。
( C )
3、对两个数组a和b进行下列初始化: char m[]="1234567"; char n[]={'1','2’,'3','4','5','6','7'};则下列叙述正确的是________。
( C )
4、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是________。 int[3][3],*pt[3],k; for(k=0;k<3;k++) pt[k]-&t[k][0];
( A )
5、有以下程序: main() { int c=0,k; for(k=1;k<3;k++) switch(k) { default:c+=k; case2:c++; break; case4:c+=2; break; } printf("%d\n",c); } 程序运行后的输出结果是________。
( C )
6、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
( D )
7、以下叙述中不正确的是________。
( D )
8、c语言对嵌套的if语句的规定是:else总是与 配对。
( C )
9、计算机内部运算使用的数是________。
( B )
10、下面的程序 main() { int x=3; do { printf("%d\n",x-=2); } while(!(--x)); }
( B )
11、以下能正确定义且赋初值的语句是________。
( A )
12、以下程序片段( ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf("***"); else printf("###"); }
( B )
13、有以下程序 #include <stdio.h> main() { char s[]={"012xy"}; int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>'a'&&s[i]<='z') n++; printf("%d\n",n); } 程序运行后的输出结果是________。
( A )
14、有以下程序 #include <stdio.h> main() { char *a[ ]={"abcd","ef","gh","ijk"}; int i; for(i=0;i<4;i++) printf("%c",*a[i]); } 程序运行后输出的结果是________。
( C )
15、设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是________。
( C )
16、c 语言的程序一行写不下时,可以 。
( D )
17、若有以下定义和语句: double r=99 , *p=&r ; *p=r ; 则以下正确的叙述是______。
( D )
18、已知小写英文字母"a"的ascii码值为61h,现字母"g"被存放在某个存储单元中,若采用偶校验(假设最高位作为校验位),则该存储单元中存放的十六进制数是______。
( D )
19、在下面语句中,其含义为"p为指向含n个元素的一维数组的指针变量"的定义语句是________。
( A )
20、下列关于指针运算的描述中,错误的是________。
( D )
21、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是______。
( B )
22、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
( C )
23、排序的重要目的是为了以后对已排序的数据元素进行________。
( D )
24、以下正确的说法是______。
( B )
25、下列关于c语言用户标识符的叙述中正确的是________。
( C )
26、在下列选项中,没有构成死循环的程序段是________。
( D )
27、以下选项中,能用作数据常量的是________。
( B )
28、int a[5],*p=a; 对a数组元素地址的正确引用是________。
( A )
29、以下不合法的字符常量是________。
( C )
30、有以下函数: int fun(char *x, char *y) { int n=0; while((*x==*y)&&*x!=’\0’) { x++; y++; n++; } return n; } 函数的功能是________。
( B )
31、以下程序的输出结果是 fun(int x, int y) return(x+y); main() { int a=1, b=2, c=3, sum; sum=fun((a++, b++, a+b), c++); printf("%d", sum); }
( D )
32、以下语句或语句组中,能正确进行字符串赋值的是________。
( D )
33、若有定义:char*x="abcdefghi"; 以下选项中正确运用了strcpy函数的是______。
( D )
34、判断字符串s1是否大于字符串s2,应当使用 。
( B )
35、c语言中下面哪个不是循环语句?
( C )
36、下列标识符,不合法的是________。
( B )
37、若有说明:inta,b=2,*p=&a; 则能完成a=b赋值功能的语句是______。
( B )
38、若变量已正确说明为float类型,要通过语句 scanf("%f %f %f",&a,&b,&c); 给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是________。
( D )
39、表达式 *((int *)(p+1)+2)的值时_______. static struct { int x, y[3]; } a[3] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p; p = a+1;
( A )
40、下列c语言程序段中关于while循环体正确的说法是inti=1; while(5) { i++; if(i>3)break; }
( D )
41、语句 fread(buffer,size, count,fp); 其中 buffer 代表的是________。
( C )
42、以下叙述中正确的是________。
( C )
43、以下叙述中正确的是________。
( B )
44、下面选项中合法的字符常量是________。
( C )
45、下列定义不正确的是________。
( D )
46、下列运算符中是c语言关系运算符的是________。
( D )
47、设变量定义为"int a, b; ",执行下列语句时,输入(),则a和b的值都是10.\n scanf("a=%d, b=%d",&a, &b);
( D )
48、判断字符串a 和b 是否相等,应当使用。
( A )
49、char a[]="This is a program.";输出前 5 个字符的语句是()。
( B )
50、设 p1 和 p2 是指向同一个字符串的指针变量,c 为字符变量,则以下不能正确执行的赋值语句是()。
相关标签:
- C语言
- 大连交通大学
- 期末