当前位置:首页 > 大学计算机C语言期末考试复习试题及答案(20套)(1)
C:.2E0 D:1.3E
答案:C 第3题 (1.0分) 题号:606
已定义 ch 为字符型变量,以下赋值语句中错误的是()。 A:ch='\\'; B:ch=62+3; C:ch=NULL; D:ch='\\xaa';
答案:A 第4题 (1.0分) 题号:3012 以下程序段的输出结果为().
char c[]=\i=0;
do ;while(c[i++]!='\\0');printf(\A:abc B:ab C:2 D:3
答案:D 第5题 (1.0分) 题号:110
C 语言中,char 类型数据占()。 A:1个字节
B:2个字节 C:4个字节 D:8个字节
答案:A
第6题 (1.0分) 题号:547 int (*p)[6]; 它的含义为()。
A:具有6个元素的一维数组 B:定义了一个指向具有6个元素的一维数组的指针变量 C:指向整型指针变量
D:指向6个整数中的一个的地址
答案:B 第7题 (1.0分) 题号:3181 若有定义:int *p[3];,则以下叙述中正确的是(). A:定义了一个基类型为 int 的指针变量 p, 该变量具有三个指针 B:定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int 的指针 C:定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素 D:定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int 类型元素 答案:B 第8题 (1.0分) 题号:523
函数的形式参数隐含的存储类型说明是 ()。 A:extern B:static C:register D:auto
答案:D 第9题 (1.0分) 题号:95 下列变量说明语句中,正确的是()。 A:char:a b c; B:char a;b;c; C:int x;z; D:int x,z;
答案:D
第10题 (1.0分) 题号:168 若输入 ab,程序运行结果为()。 main() { static char a[2]; scanf(\
printf(\ } A:a,b B:a, C:b,
D:程序出错
答案:C
第11题 (1.0分) 题号:2821 经 下 列 语 句 定 义
后 ,sizeof(x),sizeof(y),sizeof(a),sizeof(b) 在微机上的值分别为(). char x=65; float y=7.3; int a=100; double b=4.5; A:2,2,2,4 B:1,2,4,4 C:1,4,4,8 D:2,4,4,8
答案:C
第12题 (1.0分) 题号:611 以下 for 循环的执行次数是
for(x=0,y=0;(y=123)&&(x<4);x++);()。 A:是无限循环 B:循环次数不定 C:4次 D:3次
答案:C
第13题 (1.0分) 题号:561 以下叙述中正确的是 ()。 A:C 程序中注释部分可以出现在程序中任意合适的地方
B:花括号“{“和”}”只能作为函数体的定界 符
C:构成 C 程序的基本单位是函数,所有函数名都可以由用户命名 D:分号是 C 语句之间的分隔符,不是语句 的一部分
答案:A 第14题 (1.0分) 题号:429
假定所有变量均已正确定义,下列程序段运行后 x 的值是()。 k1=1; k2=2; k3=3; x=15; if(!k1) x--; else if(k2) x=4; else x=3; A:14 B:4 C:15 D:3
答案:B 第15题 (1.0分) 题号:2782 以下数据中,不正确的数值或字符常量是(). A:8.9e1.2 B:10 C:0xff00 D:82.5
答案:A
第16题 (1.0分) 题号:2374 以下说法正确的是
A:C 语言程序总是从第一个的函数开始执行
B:在 C 语言程序中,要调用函数必须在 main()函数中定义
C:C 语言程序总是从 main()函数开始执行 D:C 语言程序中的 main()函数必须放在程 序的开始部分
答案:C
第17题 (1.0分) 题号:3159
在位运算中,操作数每左移一位,其结果相当于().
A:操作数乘以2 B:操作数除以2 C:操作数除以4 D:操作数乘以4
答案:A
第18题 (1.0分) 题号:599
假设所有变量均为整型,则表达式 (a=2,b=5,b++,a+b)的值是()。 A:7 B:8 C:6 D:2
答案:B
第19题 (1.0分) 题号:3052 以下叙述正确的是().
A:在 C 程序中,main 函数必须位于程序的前面
B:C 程序的每行中只能写一条语句 C:C 语言本身没有输入输出语句
D:在对一个 C 程序进行编译的过程中,可 发现注释中的拼写错误
答案:C
第20题 (1.0分) 题号:3168 若 x=2,y=3则 x&y 的结果是(). A:0 B:2 C:3 D:5
答案:B
第21题 (1.0分) 题号:3091 以下 for 循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);(). A:是无限循环 B:循环次数不定 C:4次 D:3次
答案:C
第22题 (1.0分) 题号:160
C 语言的 if 语句嵌套时,if 与 else 的配对关系是()。
A:每个else总是与它上面的 近的if 配对 B:每个 else 总是与 外层的 if 配对 C:每个 else 与 if 的配对是任意的 D:每个 else 总是与它上面的 if 配对
答案:A
第23题 (1.0分) 题号:379 以下不正确的叙述是()。
A:在 C 程序中所用的变量必须先定义后使用
B:程序中,APH 和 aph 是两个不同的变量 C:若 a 和 b 类型相同,在执行了赋值语句 a=b;后 b 中的值将放入 a 中,b 中的值不变 D:当输入数值数据时,对于整型变量只
能输入整型值;对于实型变量只能输入实型值
答案:D
第24题 (1.0分) 题号:671
C 语言规定:简单变量做实参时,它和对应 形参之间的数据传递方式是()。 A:地址传递 B:单向值传递
C:由实参传给形参,再由形参传回给实参 D:由用户指定的传递方式
答案:B
第25题 (1.0分) 题号:3073
能正确表示逻辑关系:\≥10或a≤0\的C语言表达式是(). A:a>=10 or a<=0 B:a>=0|a<=10
C:a>=10&&a<=0 D:a>=10 a<=0
答案:D
第26题 (1.0分) 题号:3100 下列运算符中优先级 高的是(). A:< B:+ C:&& D:!=
答案:B 第27题 (1.0分) 题号:130 以下程序段的执行结果是()。 double x;x=218.82631; printf(\
A:输出格式描述符的域宽不够,不能输出 B:输出为21.38e+01 C:输出为2.2e+02 D:输出为-2.14e2
答案:C
第28题 (1.0分) 题号:480 以下程序的输出结果是()。 main() { char s[]=\p=s;
printf(\ }
A:123 B:321 C:213 D:312
答案:B 第29题 (1.0分) 题号:376 在 C 语言中,能代表逻辑值“真”的是()。 A:True
B:大于0的数 C:非0整数 D:非0的数
答案:D
第30题 (1.0分) 题号:2926
在 C 语言中,if 语句后的一对原括号中,用以决定分支的流程的表达式(). A:只能用逻辑表达式
B:只能用关系表达式
C:只能用逻辑表达式或关系表达式 D:可用任意表达式
答案:D
三、程序填空 共2题 (共计24分) 第1题 (12.0分) 题号:3
/*------------------------------------------------------ 【程序填空】
------------------------------------------------------ ---
题目:下面的程序是求1!+3!+5!+……+n! 的和,程序中有4个 空,填空使程序完整。
------------------------------------------------------ -*/ main()
{ long int f,s;
int i,j,n; /***********SPACE***********/ 【?】
scanf(\
/***********SPACE***********/ for(i=1;i<=n; 【?】)
{ f=1;
/***********SPACE***********/ for(j=1; 【?】;j++)
/***********SPACE***********/ 【?】
s=s+f; }
printf(\}
答案:
=======(答案1)======= s=0;
=======(答案2)======= i+=2
=========或=========
i=i+2
=======(答案3)======= j<=i
=========或========= i>=j
=======(答案4)======= f= f * j ;
第2题 (12.0分) 题号:414
/*------------------------------------------------------ 【程序填空】
------------------------------------------------------ --- 功能:通过函数的递归调用计算阶乘。 ------------------------------------------------------ -*/
long power(int n) {long f; if(n>1)
/***********SPACE***********/ f=【?】; else f=1; return(f); } main() {int n; long y;
printf(\/***********SPACE***********/ scanf(\【?】); y=power(n); /***********SPACE***********/
printf(\【?】); getch(); } 答案:
=======(答案1)======= power(n-1)*n
=========或========= power( n - 1 ) * n
=======(答案2)======= &n
=======(答案3)======= y
四、程序改错 共2题 (共计22分)第1题 (11.0分) 题号:417
/*----------------------------------------------------- 【程序改错】
------------------------------------------------------ --
题目:读取7个数(1-50)的整数值,每读取一个值, 程序打印出该值个数的*。
------------------------------------------------------ --
注意:不可以增加或删除程序行,也不可以更改程 序的结构。
-----------------------------------------------------*/ #include \{int i,a,n=1;
/**********FOUND**********/ while(n<7) { do {
scanf(\}
/**********FOUND**********/ while(a<1&&a>50);
/**********FOUND**********/ for(i=0;i<=a;i++) printf(\printf(\n++;} getch(); }
答案:
=======(答案1)======= while(n<=7)
=========或========= while(n<8)
=======(答案2)======= while(a<1||a>50);
=========或========= while(a>50||a<1);
=======(答案3)======= for(i=1;i<=a;i++)
第2题 (11.0分) 题号:19
/*---------------------------------------------------- --
【程序改错】
------------------------------------------------------ --
题目:函数 fun 的功能是:计算正整数 num 的各位上的数字之积。 例如,输入252,则输出应该是20。 请改正程序中的错误,使它能得出正确的结果。 ------------------------------------------------------ --
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-----------------------------------------------------*/
long fun (long num) {
/**********FOUND**********/ long k; do
{
k*=num;
/**********FOUND**********/ num\\=10; }while (num); return k; }
main() {
long n;
printf(\/**********FOUND**********/ scanf(\
/**********FOUND**********/ printf(\}
答案:
=======(答案1)======= long k=1;
=======(答案2)======= num/=10; =========或========= num=num/10; =======(答案3)======= scanf(\
=======(答案4)======= printf(\
五、程序设计 共1题 (共计14分)第1题 (14.0分) 题号:22
/*------------------------------------------------ 【程序设计】
-------------------------------------------------- 题目:从键盘为一维整型数组输入10个整数,调用 fun 函数找出其中 小的数,并在 main 函数中输出。 请编写 fun 函数。(用 for 循环) -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主 函数 main 和其 它函数中的任何内容,仅在函数fun 的花括号中填 入所编写的若干语句。
------------------------------------------------*/ #include \{
/**********Program**********/
/********** End **********/ }
main() {
int a[10],i,min; for(i=0;i<10;i++) scanf(\for(i=0;i<10;i++)
printf(\min=fun(a,10); printf(\ yzj(); } yzj() {
FILE *IN,*OUT; int iIN[10],i;
int iOUT,iCOUNT;
IN=fopen(\
{printf(\May Be Changed\}
OUT=fopen(\{printf(\May Be Changed\}
for(i=0;i<10;i++)
{ for(iCOUNT=0;iCOUNT<10;iCOUNT ++)
fscanf(IN,\iOUT=fun(iIN,10);
fprintf(OUT,\}
fclose(IN); fclose(OUT); }
答案:---------------------- int min,i; min=x[0]; for(i=1;i {if(x[i] ----------------------
共分享92篇相关文档