昆明理工大学C语言期末考试题库

发布时间:2021-06-06

昆明理工大学C语言期末考试题库 包含百分之九十五的原题

A.对 B.错 8. 在循环体内和 switch 语句体内使用 break 语句。 A.对 B.错 9. 函数 strcpy(str1,str2)是将字符串 A.对 B.错 10. 可以对实型数组进行整体输入、输出。 A.对 B.错 11. 若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。 A.对 B.错 12. 在 main()函数中定义的变量称为全局变量。 A.对 B.错 13. 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。 A.对 B.错 14. 在定义了枚举变量后,系统才为该变量分配内存空间。 A.对 str2 连接到字符串 str1 之后。

B.错 15. 变量的指针,其含义是指该变量的一个标志。 A.对 B.错 16. 当以参数 w 打开文件时,若指定路径下已有同名文件,则覆盖原有文件。 A.对 B.错

单 选 题 1. 下面有关 C 语言特点的说法中,错误的是______。 A.C 语言编写的代码较为紧凑,执行速度也较快 B.C 语言不仅适合编写各种应用软件,还适于编写各种系统软件 C.C 语言是一种模块化和结构化的语言 D.C 语言编写的程序通常不具备移植性 2. 以下程序的输出结果是______。 #include { int A.4 a=2,b=3,c=4; 3 2 "stdio.h" void } main()

printf("%d,%d,%d\n",c,b,a);

B.2,3,4 C.4,3,2 D.2 3 4

3. 以下选项中,能用作数据常量的是________。 A.0119

B.o126 C.2.5e2.5 D.119L 4. 下列实型常量,错误的是__________。 A.3.2f B.-2.2E-2F C.-12.0 D.e3 5. 表达式 3.6-5/2+1.2+5%2 的值是______。 A.3.3 B.3.8 C.4.3 D.4.8 6. 若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是________。 A.++x,y=x-B.x+1=y C.x=x+10=x+y D.double(x)/10 7. 若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是________。 A.x=y=5; B.x=n%2.5;

C.x+n=i; D.x=5=4+1; 8. 有以下程序 #include main(){ int a=2,b=2,c=2; printf(“%d\n”,a/b%c);} 程序运行后的结果是________。 A.0 B.1 C.2 D.3 9. 有以下程序: #include< main(){ int a=0,b=0,c=0; c=(a-=a-5); (a=b,b+=4); printf(“%d,%d,%d”, } A.0,4,5 B.4,4,5 C.4,4,4 D.0,0,0 10. 执行以下程序段后,x 的值为______。 int x=(a && b) && (c < 'B'); a=14,b=15,x; char c='A'; a, b, c); stdio.h> < stdio.h>

A.true B.1

C.false D.0 11. 下列表达式中,______不是关系表达式。 A.x%2==0 B.!(x%2) C.(x/2*2-x)==0 D.x%2!=0 12. 执行以下程序段后,输出结果是______。 int if(c!=a) c=b; printf("%d, %d, a=3,b=5,c=7; if(a %d\n",a,b,c); > b) a=b;c=a;

A.程序段有语法错误 B.3,5,3 C.3,5,5 D.3,5,7 13. 下列程序的输出结果是 _______。 f("%d\n",d+1); A.2 B.3 C.4 D.编译时有错且无结果 14. 以下运算符中优先级最低的运算符为______。 A.&& #inlude "stdio.h" else main() { else } int if((c-1 a=5,b=4,c=3,d=2; > =d)==1) print if(a>b>c) printf("%d\n",d);

printf("%d\n",d+2);

B.& C.!= D.|| 15. 以下程序的运行结果是______。 #include <stdio.h> void main() { int } y=9; for( ; y > 0;y--) if(y%3==0) A.741 B.963 C.852 D.875421 16. 以下描述中正确的是______。 A.由于 do-while 的循环体只能有一条语句,所以循环体内不能使用复合语句 B.do-while 由 do 开始,用 while 结束,在 while(表达式)后面不能写分号 C.在 do-while 循环中,是先执行一次循环体,再进行判断 D.在 do-while 循环中,根据情况可以省略 while 17. 若程序执行时的输入数据是 2473<回车>,则下述程序的输出结果是______。 #include s+4); 3: putchar(cs+3); A.668977 B.668966 C.6677877 D.6688766 18. 执行以下程序时输入 1234567890<回车>,则其中 while 循环体将执行_______次。 <stdio.h> void main() { case 2: { case int 0: break; } } } putchar(cs+2); cs; while((cs=getchar())!='\n') case 1: putchar(c case {switch(cs-'2') printf("%d",--y);

putchar(cs+4); default:

#include { char A.10 B.0 C.2 D.1

"stdio.h" ch;

void

main() printf("#"); }

while((ch=getchar())=='0')

19. 以下程序执行后的输出结果是_______。 #include "stdio.h" { ++; int i,n=0; for(i=2;i < 5;i++) } { do{ }while(!i); A.n=5 B.n=2 C.n=3 D.n=4 20. 下列字符串赋值语句中,不能正确把字符串“Hello A.char B.char C.char D.char a1[]={'H','e a2[15]; a3[15]; a4[10]={ ','l','l','o',' n++;

void

main() continue; } n

if(i%3)

printf("n=%d\n",n);

World”赋给数组的语句是______。

','W','o','r','l','d','\0'};

strcpy(a2,"Hello a3="Hello World";

World");

"Hello World"}; 则对 a 数组元素的正确引用是______。

21. 若有说明:int A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(1)

a[3][4];

22. 下面程序的运行结果是______。 #include "stdio.h" } main() { char > = s[]="012xy"; 'a'&&s[i]< = int 'z') i,n=0; fo printf( r(i=0;s[i]!=0;i++) "%d\n",n); A. B. C. D. 23. 下面关于数组的叙述,正确的是______。 A.数组元素的数据类型都相同 B.数组不经过定义即可使用 C.同一数组中会出现不同类型的数组元素 D.数组名等同于第一个元素 24. 以下程序运行后的输出结果是________。 #include { int A.1 B.2 C.4 D.8 25. 以下叙述中正确的是________。 A.局部变量说明为 static,其生存期将得到延长 B.全局变量说明为 static,其作用域将被扩大 C.任何存储类的变

量在未赋初值时,其值都是不确定的 D.属于不同函数的局部变量不能同名 n=1,m; m=f(f(f(n))); printf("%d\n",m);} int "stdio.h" int f(int f(int x); main() x*2;} if(s[i] n++;

x) {return

26. 在函数调用过程中,如果函数 funA 调用了函数 ________。 A..称为函数的直接递归调用 B.称为函数的间接递归 C.称为函数的循环调用 D.不允许这样调用 27. 下列的结论中只有________是正确的。 A.所有的递归程序均可以采用非递归算法实现 B.只有部分递归程序可以用非递归算法实现 C.所有的递归程序均不可以采用非递归算法实现 D.以上三种说法都不对 28. 以下结构体的定义语句中,正确的是______。 A.struct B.struct C.struct D.struct student {int {int num; char char

funB,函数 funB 又调用了函数 funA,则

name[10];int

age;};stu; struct student stu;

num;

name[10];int char char

age;}student;

student student

{int num; {int num;

name[10];int name[10]; int

age;}stu; age;}; student stu;

29. 当定义一个共用体变量时,系统为它分配的内存空间是______。 A.共用体中第一个成员所占用的空间 B.共用体中所有成员所占用空间之和 C.共用体中空间占用最大者 D.共用体中任意一个成员所占用的空间 30. 下列函数的功能是______。 fun(char { while((*b=*a)!='\0') {a++,b++;} *a,char } *b)

A.使 a 所指字符串赋给 b 所指空间 B.使指针 b 指向 a 所指字符串 C.将 a 所指字符串和 b 所指字符串进行比较 D.检查 a 和 b 所指字符串中是否有'\0' 31. 以下程序的运行结果是______。 #include void { { main() int a[10]={1,2,3,4,5,6,7,8,9,10}; } fun(&a[3]); A.5 B.6 C.8 D.9 32. 以下程序运行后的输出结果是_______。 #include { FILE *fp; int "stdio.h" main() < stdio.h *p) } > fun(int

printf("%d\n",p[5]);

i=20,j=30,k,n; fp=fopen("dl.dat","w"); %d\n",k,n); fclose(fp); }

fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j); fclose(fp); fp=fopen("dl.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d A.20 B.20 C.30 D.30 30 50 50 20 *fp;fp=fopen("abc.txt", "w");,则程序准备做______。

33. 如果程序中有语句 FILE A.对文件读写操作 B.对文件读操作

C.对文件写操作 D.对文件不操作

1. C 语言把高级语言的基本结构和低级语言的实用性紧密结合起来,不仅适合编写应用软件, 而且适于编写系统软件。 A.对 B.错 2. 不同类型的数据在内存中所占存储单元的大小不同,内部存储方式不同,取值范围不同,甚 至能够参与的运算种类也不相同。 A.对 B.错 3. C 语言中浮点型变量可以进行自增或自减操作。 A.对 B.错 4. 假定已有定义 char c;,sizeof c 中的 sizeof 是容量运算符,而 sizeof(char)中由于使

用了括号形式,称为容量函数。 A.对 B.错 5. 在执行 switch 选择结构时,从匹配表达式的相应 case 处入口,一直执行到 break 语句或到 达 switch 的

末尾为止。 A.对 B.错 6. 与表达式“!(x A.对 B.错 > 0)”等价的表达式是“x < =0”。

7. 二重循环 for(i=0;I A.对 B.错

< 5;i+=2)

for(j=0;j

< 5;j++)的循环体的执行次数为 15。

8. while 和 do while 的功能完全相同。 A.对 B.错 9. 数组名代表数组的首地址。 A.对 B.错 10. 设有定义:double A.对 B.错 11. 如果在一个函数中的复合语句内定义了一个变量,则该变量在该函数中都有效。 A.对 B.错 12. 在 C 语言中形参与实参共用内存单元。 A.对 B.错 13. 结构体中各个成员的数据类型必须是相同的。 A.对 B.错 14. 结构体变量可以整体赋值,但不能整体比较。 a[4][5];,则数组 a 中元素的个数是 9。

A.对 B.错 15. 指针变量的类型不是该变量本身的类型,而是它所指向的变量的类型。 A.对 B.错 16. 为了提高读写效率,在进行读写操作后不应关闭文件以便下次再进行读写。 A.对 B.错

单 选 题 1. 有以下程序 #include <br>void <br>{ "stdio.h" main( float ) a=b=2, result; result); }

<br>result=a/b; <br>printf("result=%f\n", 正确的说法是( )。

A.因为变量声明问题导致编译出错 B.因为 result=a/b;语句有误导致编译出错 C.输出结果为 result=2.000000 D.输出结果为 result=1.000000 2. 下面有关程序设计技术的说法中,错误的是______。 A.机器语言和汇编语言编程通常采用面向计算机的程序设计方式 B.面向过程的程序设计方法通常采用结构化和模块化设计方法 C.面向对象的程序设计方法采用客观世界的描述方式

D.C 语言是一种兼顾面向过程和面向对象的高级程序设计语言 3. C 源程序中不能表示的数制是______。 A.二进制 B.八进制 C.十进制 D.十六进制 4. 下面有关变量声明的说法中,正确的是_________。 A.C 语言中不用先声明变量,需要时直接使用即可 B.每个变量的存储空间大小由数据类型和编译环境共同决定 C.在 VC++6.0 环境下,为 int 型变量分配的存储空间大小为 2 个字节 D.变量声明时,不能进行赋值操作 5. 已定义 A.7 B.8 C.9 D.10 6. 若 x、 i、 j 和 k 都是 int 型变量, 则执行下面表达式 x= (i=4, j=16, k=32) 后 x 的值为( A.4 B.16 C.32 D.52 )。 int num=sum=7, (sum=num++, sum++, ++num)

7. 以下程序运行后的输出结果是______。 #include main() {int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); } A.12353514 B.12353513 C.12343514 D.12343513 8. 设变量 a 和 b 已正确定义并赋初值。请写出与 a-=a+b 等价的赋值表达式________。 A.a=a-a+b B.a-a=b C.a=a-(a+b) D.a=-a+b 9. 以下程序运行后输出的结果是________。 #include main() { int a,b,d=25; a=d/10%9; b=a+-1; printf("%d,%d\n",a,b); A.6,1 B.2,1 C.6,0 D.2,0 10. 以下程序运行时,输入的值在______范围时才会有输出结果。 #inlude { int x; scanf("%d ",&x); if(x <=3);else "stdio.h" main(

) } < stdio.h> < stdio.h>

if(x!=10)

printf("%d\n ",x);

}

A.不等于 10 的整数 B.大于 3 且不等于 10 的整数 C.大于 3 或等于 10 的整数 D.小于 3 的整数 11. 下列程序的输出结果是______。 #inlude { } A.0,0,0 B.1,1,1 C.1,0,1 D.0,1,1 12. 下列程序的输出结果是______。 #inlude { } A.1 B.2 C.2 D.2 2 3 2 3 3 4 3 3 int i=1,j=2,k=3; "stdio.h" main() printf("%d %d %d",i,j,k); int a=0,b=0,c=0; if(++a > 0||++b "stdio.h" main() > 0) ++c; printf("%d,%d,%d",a,b,c);

if(i++==1&&(++j==3||k++==3))

13. 设变量 x 和 y 均已正确定义并赋值, 则以下 if 语句中, 在编译时将产生错误信息的是______。 A.if(x++); B.if(x C.if(x D.if(y > > < y 0) && x-y!=0); else y++;

0){;} else

x++;

14. 当 y 处于闭区间[x,z]时,值为真的表达式是_______。 A.( B.(x C.(x D.(x 15. 已知 y > > > < = z)&&(y > > =x) =z)c

=y)and(y =y >

=z) > =z) while (t=1) {...} 则以下叙述正确的是( )。

=y)&(y t=0;

int

A.循环控制表达式的值为 0 B.循环控制表达式的值为 1 C.循环控制表达式不合法 D.以上说法都不对 16. 以下程序的运行结果是______。 #include <stdio.h> < void main() { int i,j,m=55; for(i=1;i< } =3;i++) for(j=3;j A.0 B.1 C.2 D.3 17. 下列程序的输出结果是_______。 #include ); "stdio.h" } void main() { int k=5; while(-k) printf("%d",k-=3 printf("\n"); A.1 B.2 C.4 D.死循环 =i;j++) m=m%j; printf("%d\n",m);

18. 要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,以下正 确的程序段是_______。 A.while((ch=getchar())!='N B.while(ch=getchar()!='N C.while(ch=getchar()=='N D.while((ch=getchar())=='N ')printf("%c",ch);

')printf("%c",ch); ')printf("%c",ch); ')printf("%c",ch); "stdio.h" void main() {int i;

19. 以下程序输出结果是_______。 #include for(i=0;i { } case } A.022111 B.021021 C.000122 D.012 20. 若有定义:int ______。 A.a[2] B.a[c-b] C.a[b] D.a[b-'b'] 21. 下面程序的运行结果是______。 #include main() { char a[30]; strcpy(&a[0],"ch"); printf("%s\n",a);} a[5]={1,2,3,4,5};char < 3;i++) switch(i) case 0:printf("%d",i);

2:printf("%d",i);

default:printf("%d",i);

b='c',c;,则下面表达式中数值为

2

的是

<

stdio.h

> #include

<

string.h

>

strcpy(&a[1],"def");

strcpy(&

a[2],"abc"); A.chdefabc B.cda

C.cdabc D.abcdef 22. 下面程序的运行结果是______。 #include #define main() { int i,sum,a[]={1,2,3,4,5,6,7,8,9,10}; MAX;i++) sum-=a[i]; sum=1; for(i=0;i< printf("%d",sum);} A.55 B.-54 C.-55 D.54 23. 以下程序的执行结果是______。 #include void { main() char str[][10]={"ABCD","EFGH","IJKL","MNOP"},k; printf("%s\n",&str[k][k]); } A.ABCD FGH KL B.ABCD EFG IJ C.EFG JK O D.FGH KL 24. 在一个 C 源程序文件中所定义的全局变量,其作用域为________。 A.所在文件的全部范围 B.所在程序的全部范围 C.所在函数的全部范围 for(k=1;k< 3;k++) "stdio.h" #include "string.h" < MAX stdio.h 10

>

D.由具体定义位置和 extern 说明来决定范围 25. 以下所列的各函数首部中,正确的是________。 A.void B.void C.void D.Sub play(var:Integer,var play(int play(int play(a as a,b) a,int b) integer,b as integer) "stdio.h" #define f(x) x*x } b:Integer)

26. 以下程序的输出结果是________。 #include void main() { A.9 B.18 C.36 D.6 27. 以下程序的运行结果为________。 #include { void static int x=3; y=3; x+=p; printf("%d main() { A.5 B.5 C.5 D.5 10 10 5 6 10 10 int 20 10 int a=6,b=2,c;

c=f(a)/f(b);

printf("%d\n",c);

"stdio.h" int ",x);

x=2; int return }

fun(int (x);

p) }

printf("%d

\n",fun(fun(x)));

28. 以下结构体的定义语句中,正确的是______。 A.struct B.struct C.struct student {int {int num; char char name[10];int age;};stu; struct student stu;

num;

name[10];int char

age;}student;

student

{int num;

name[10];int

age;}stu;

昆明理工大学C语言期末考试题库.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219