C语言程序设计期末考试复习题及答案[1]
C语言程序设计期末复习题及答案(1)
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
printf("%d\n",n[i][j]);
}
程序运行输出结果是________________________。
四、程序阅读填空,根据要求补充完整程序(本题共10分)。
1.下面程序的功能是输出两个字符串中较短串的长度。请填空。
#include <stdio.h>
void main( )
{ char str1[20], str2[20];
六、程序阅读分析(本大题共20分,每小题5分,其中,1,2,4小题答案必须完全一致,否则均不得分。)
1.结果是: -5 -12 -7
2.程序输出结果: 5,4,6
3. 分析以下程序:
字符串s1和s2相连接(或者:字符串s2 加入到字符串s1 尾部)。
写出主要意思即可得分。
4. 结果是____6___。
#include<stdio.h>
(完整版)C语言程序设计期末考试复习题及答案
(3)执行以下程序段后,i的值是 (C)int i=10;
switch(i+1)
{case 10: i++;break;case 11: ++i;
case 12: ++i; break; default : i=i+1;
}
A) 11B) 13C) 12D) 14
(4)语句while(!e);中的条件!e等价于 (A)
8.有以下程序(a)
main()
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,bB)b,cC)a,bD)a,c9.有以下函数定义:(c)
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是
for(i=0;i<SIZE;i++) scanf("%d",①);i=0;j=②;
while(i<j)
{t=a[i];③;④;i++;j⑤}for(i=0;i<SIZE;i++) printf("%3d",a[i]);
C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题(含答案)
一、选择题(共20题,每题2分,共40分)
在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:
A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?
A. 3.14
B. 'A'
C. 3.0E8
D. 0xFC
3. 下面代码中,输出结果是多少?
```c
#include <stdio.h>
int main() {
int x = 3, y = 4, z;
z = (x++) + (++y);
printf("%d\n", z);
return 0;
}
```
A. 7
B. 8
C. 9
D. 10
4. 下面哪个选项是正确的声明一个指向整型数据的指针?
A. int *ptr;
B. int ptr;
C. *int ptr;
D. ptr *int;
5. 下面哪个选项是正确的函数声明?
A. int add(int a, int b);
B. int add(int a, b);
C. add(int a, int b);
D. add(int a, b);
(略去其他题目...)
二、编程题(共2题,每题30分,共60分)
请编写符合题目要求的程序。
C语言程序设计期末考试复习题及答案[]
C语言考试期末考试复习题及答案
一、选择题
(1) 一个C语言程序总是从(C )开始执行
A) 书写顺序的第一个函数
B) 书写顺序的第一条执行语句
C) 主函数main()
D) 不确定
(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是
( D )
A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y
D) !((x<y)&&!z||1)
(3) 执行以下程序段后,i的值是 ( C )
int i=10。
switch(i+1)
{ case 10: i++。 break。
case 11: ++i。
case 12: ++i。 break。
default : i=i+1。
}
A) 11 B) 13 C) 12 D) 14
(4) 语句while(!e)。中的条件!e等价于 ( A )
A) e==0 B)e!=1 C) e!=0
D) 运行时出错
(5) 用 int a[4]={1,2}。对数组进行初始化后,数组元素a[3]的值是 ( B )
A) 随机值B) 0 C) 1
D) F
(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )
A)5 B) 6 D) 7 D 9
(7) 若有定义,char *p=”computer”。则语句
printf(“%c”,*(p+2))运行结果是 ( B )
A) 随机值B) m C)o D) omputer
(8) 在以下函数调用语句中
fun1(x,10,(x,10),fun2(y,10,(y,10)))。
大学《C语言程序设计》期末考试试卷及参考答案 1
《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。(对)2、在标准C中,整型变量与字符变量是可以通用的。(对)3、在标准C中,“=”是判断两个数是否相等。(错)4、在if语句中,else前一个语句可不加“;”。(错)5、在C语言中操作系统是以文件为单位对数据进行管理的。(对)6、在C语言中,定义结构体变量时可以省略关健字struct。(错)7、内存单元的地址与内存单元中的内容是两个相同的内容。(错)8、在标准C语言中,在定义带参数的宏时也要定义参数的类型。(错)9、在标准C语言中,所有函数在调用之前都要进行声明。(错)10、在标准C语言中,数组的下标必须是常量,不允许是表达式。(错)二、填空题(30分,,1到10题1分1空,10到18题2分1空)1. 设float x=2.5,y=4.7; int a=7;,则表达式 x+a%3*(int)(x+y)%2/4 的值为 (3.4 ) 4. 如定义语句为“char a[]="windows ",b[]="95";”,语句"printf("%s",strcat(a,b));"的输出结果为 ( windows95 ) 。5. 宏定义语句 #define f(c) c>='A'&&c<='Z' 的引用 f(x[i])置换展开后为 (x[i]>='A'&&x[i]<='Z' ) 。6.int i=234,j=567; 函数printf("%d%d\n",i,j) 的输出结果是 ( 234567 ) 7. 文件打开方式为"r+",文件打开后,文件读写位置在 ( 文件的首记录前 ) 。8、为了建立如图所示的存储结构(即:每个结点含三个域,data是数据域,Ltree是指向左子树结点的指针域,Rtree是指向右子树结点的指针域),请填空.struct TREE {char data; Ltree data Rtree__( char *Ltree ; char *Rtree)__________; }node; ┏━━┯━━┯━━┓┃ │ │ ┃┗━━┷━━┷━━┛9. 求1至100的和,写作 for(s=0,i=1; ( i<=100 ) ;++i) s+=i;10. 定义a为长度为10的字符串、同时为字符串赋初值"continue"的语句为 ( char[10]="continue" ;)。11. p为本金,r为1年期存款年利率,计算存款p元5年到期时本金、利息总和(计复利)的算术表达式为 __p*pow( r+1, 5 )__ 。12. 若 s='d',执行语句 s=(s>='a'&&s<='z')?s-32:s; 字符变量s的值为 ___'d'_____ 。13. 函数change定义如下,若a=10、b=5,执行 change(a,b)后a、b的值分别为 __ 10,5_____ 。void change(int a,int b) { int t=0; t=a; a=b; b=t;}定义一个带参数的宏,若变量中的字符为大写字母则转换成小写字母___#define utol(ch) ch=ch>='A'&&ch<='Z'?ch-'a'+'A':Z ___
C语言程序设计期末复习题及参考答案
C语言程序设计期末复习题及参考答案
1. 若变量a的值为10,b的值为20,则表达式a++ + ++b的结果是多少?
答案:32
解析:在表达式a++ + ++b中,a++表示先使用变量a的值,然后再对a的值进行自增操作;++b表示先对变量b的值进行自增操作,然后再使用变量b的值。因此,a++ + ++b相当于10 + 21,结果为32。
2. 字符串连接函数strcat()的原型和功能是什么?
答案:strcat()函数的原型为char *strcat(char *str1, const char *str2),其功能是将字符串str2追加到字符串str1的末尾,并返回拼接后的字符串起始地址。
3. 请简述switch语句的用法及其与if语句的异同点。
答案:switch语句用于根据不同的情况执行不同的代码分支。其语法结构为:
```c
switch (表达式)
{
case 值1:
代码块1;
break;
case 值2:
代码块2;
break;
...
default:
默认代码块;
break;
}
```
switch语句与if语句的异同点如下:
- 相同点:都用于根据条件执行不同的代码分支;
- 不同点:
1)switch语句的条件表达式只能是整型或字符型,而if语句的条件表达式可以是任意的关系表达式;
2)switch语句针对的是多个离散的取值,if语句则根据条件的真假执行对应的代码;
3)switch语句执行完一个匹配的分支后会跳出整个switch语句,而if语句在执行条件为真的分支后会继续执行后续的代码。
4. 请写出一个函数,实现将字符串中的大写字母转换为小写字母的功能。
C语言程序设计期末考试试题(含答案)
C语言程序设计
期末考试一试题及其答案
一、单项选择题(本大题共20 题,每题 2 分,共 40 分)
1、以下不是 C语言的特色的是( )
A、 C 语言简短、紧凑
B、能够编制出功能复杂的程序
C、 C 语言能够直接对硬件进行操作
D、 C语言移植性好
2、以下不正确的C语言表记符是( )
A、 ABC
B、 abc
C、 a_bc
D、 ab.c
3、一个 C 语言程序是由( )
A、一个主程序和若干子程序构成
B、函数构成
C、若干过程构成
D、若干子程序构成
4、一个算法应当拥有“确立性”等 5 个特征,对此外 4 个特征的描绘中错误的选项是 ()
A、有零个或多个输入
B、有零个或多个输出
C、有穷性
D、可行性
5、设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+‘ a’值+i*f的数据种类为 ( )
A、 int
B、 float
C、 double
D、不确立
6、在 C 语言中, char 型数据在内存中的储存形式是( )
A、补码
B、反码
C、源码
D、ASCII码
7、有以下程序,输入数据:12345M678<cR>后(<CR>表示回车),x 的值是()。
#include<stdio.h>
main(){
int x;
float y;
scanf("%3d%f",&x,&y);
}
A、 12345
B、 123
C、 45
D、 345
8、如有以下定义int a,b; float x,则正确的赋值语句是( )
A、 a=1,b=2
B、 b++;
C、 a=b=5
D、 b=int(x);
9、以下程序的履行结果是( )
《C语言程序设计》期末复习题及答案
《C语言程序设计》期末复习题
一、选择题
1.能将高级语言编写的源程序转换成目标程序的是( C ) A.链接程序 B. 解释程序 C. 编译程序 D.编辑程序
2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是( A )。
A. 10
B. a==11||a==12||a==13||a==14
C. a>10&&a<15
D.!(a<=10)&&!(a>=15)
3.当调用函数时,实参是一个数组名,则向函数传送的是( B )。
A. 数组的长度
B. 数组的首地址
C. 数组每一个元素的地址
D. 数组每个元素中的值
4.执行下面的程序段后,k的值是(B) int k=1,n=325; do { k*=n%10;n/=10;}while(n);
A. 3
B. 30
C. 523
D. 325
5.若有以下数组说明,则i=6;a[a[i]]元素数值是(A)。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.3
B.8
C.6
D.5
6.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是(B)
A. for(i=1,p=1;i<=5;i++) p*=i;
B. for(i=1;i<=5;i++){ p=1; p*=i;}
C. i=1;p=1;while(i<=5){p*=i; i++;}
D. i=1;p=1;do{p*=i; i++; }while(i<=5);
7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( C ) A. 12 B. 3 C. 4 D.无确定值
C语言程序设计期末复习题1
一、单项选择题
1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )
A.连接、编译
B. 连接、运行
C. 编译、运行
D. 编译、连接
2.下列说法正确的是()
A.一个c语言程序并非总是从主函数位置开始执行的
B.一个c语言程序有且只有一个主函数
C.函数可以嵌套定义,不可以嵌套调用
D.程序函数的位置不可以任意
3.下面是合法C语言标识符的是()
A. 2A_K;
B. _M+N;
C. –M3;
D. AC_2;
4.下列格式符中,可以用于控制字符输出的是( )
A. %d
B. %f
C. %o
D. %c
5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( )
A. 4;
B. 16;
C. 30;
D. 50;
6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( )
A. 10,5
B. 15,6
C. 15,5
D. 10,6
7.若有定义int x,*p;,则以下正确的赋值表达式是( )
A. p=x;
B. p=&x;
C. *p=&x;
D. *p=*x;
12.下列说法正确的是()
A.一个c语言程序并非总是从主函数位置开始执行的
B.一个c语言程序有且只有一个主函数
C.函数可以嵌套定义,不可以嵌套调用
D.程序函数的位置不可以任意
21.有如下程序的输出结果是()
main( )
{int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
A 3 4
B 4 2
C 4 3
D 3 3
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案
一、选择题
(1) 一个C语言程序总是从(C )开始执行
A) 书写顺序的第一个函数
B) 书写顺序的第一条执行语句
C) 主函数main()
D) 不确定
(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )
A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y
D) !((x
(3) 执行以下程序段后,i的值是 ( C )
int i=10。
switch(i+1)
{ case 10: i++。 break。
case 11: ++i。
case 12: ++i。 break。
default : i=i+1。
}
A) 11 B) 13 C) 12 D) 14
(4) 语句while(!e)。中的条件!e等价于 ( A )
A) e==0 B)e!=1 C) e!=0
D) 运行时出错
(5) 用 int a[4]={1,2}。对数组进行初始化后,数组元素a[3]的值是 ( B )
A) 随机值B) 0 C) 1 D) F
(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )
A)5 B) 6 D) 7 D 9
(7) 若有定义,char *p=”computer”。则语句printf(“%c”,*(p+2))运行结果是( B )
A) 随机值B) m C)o D) omputer
(8) 在以下函数调用语句中
fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )
C语言程序设计期末考试试卷及答案1
C语言程序设计期末考试试卷及答案
一、单项选择题
1. ___D___是合法的用户自定义标识符。
A、b-b
B、float
C、<fr>
D、_isw
2. 若变量已正确定义并赋值,表达式___B___不符合C语言语法。
A、a*b/c;
B、3.14%2
C、2, b
D、a/b/c
3. ___C__是不正确的字符常量。
A、'n'
B、'1'
C、"a"
D、'101'
4. 在C 程序中,用___B__表示逻辑值“真”。
A、1
B、非0 的数
C、非1 的数
D、大于0 的数
5. __C____把x、y定义成float类型变量,并赋同一初值3.14。
A、float x, y=3.14;
B、float x, y=2*3.14;
C、float x=3.14, y=x=3.14;
D、float x=y=3.14;
6. 若变量已正确定义,表达式___C___的值不是2。
A、2&3
B、1<<1
C、a==2
D、1^3
7. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。
A、k=(a>b)?1:0;
B、k=a>b;
C、k=a<=b;
D、a<=b ? 0 : 1;
8. 设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。
scanf("a=%d, b=%d",&a, &b);
A、10 10
B、10, 10
C、a=10 b=10
D、a=10, b=10
9. 下列程序的输出结果是__D___。
fun(int a, int b, int c)
c语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案
一、选择题
(1) 一个C语言程序总是从(C )开始执行
A) 书写顺序的第一个函数
B) 书写顺序的第一条执行语句
C) 主函数main()
D) 不确定
(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )
A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y
D) !((x
(3) 执行以下程序段后,i的值是 ( C )
int i=10;
switch(i+1)
{ case 10: i++; break;
case 11: ++i;
case 12: ++i; break;
default : i=i+1;
}
A) 11 B) 13 C) 12 D) 14
(4) 语句while(!e);中的条件!e等价于 ( A )
A) e==0 B)e!=1 C) e!=0 D) 运行时出错
(5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B )
A) 随机值B) 0 C) 1 D) F
(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )
A)5 B) 6 D) 7 D 9
(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B )
A) 随机值B) m C)o D) omputer
(8) 在以下函数调用语句中
fun1(x,10,(x,10),fun2(y,10,(y,10)));
函数fun1参数的个数为 ( B )
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案一、 选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main( ) D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’ B) x||y+z&&y-z C) x<=y D) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10;switch(i+1) { case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1; }A) 11 B) 13 C) 12 D) 14 (4) 语句while(!e);中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0 D) 运行时出错(5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值 B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值 B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间 C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和 1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 3. 以下定义语句中正确的是( C )A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a; 4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同 7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是(
C语言程序设计期末考试复习题及答案
C语言考试期末考试复习题及答案
一、选择题
(1)一个C语言程序总是从()开始执行
A)书写顺序的第一个函数
B)书写顺序的第一条执行语句
C)主函数main()
D)不确定
(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是( )
A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x<y)&&!z||1)
(3)执行以下程序段后,i的值是( )
int i=10;
switch(i+1)
{ case 10: i++; break;
case 11: ++i;
case 12: ++i; break;
default : i=i+1;
}
A) 11 B) 13 C) 12 D) 14
(4)语句while(!e);中的条件!e等价于( )
A) e==0 B)e!=1 C) e!=0 D) 运行时出错
(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是( )
A) 随机值B) 0 C) 1 D) F
(6)在执行char str[10]=“china\0”;strlen(str)的结果是( )
A)5 B) 6 D) 7 D 9
(7)若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是( )
A) 随机值B) m C)o D) omputer
(8)在以下函数调用语句中
fun1(x,10,(x,10),fun2(y,10,(y,10)));
函数fun1参数的个数为( )
A) 8 B) 4
C语言程序设计期末考试试卷一及答案
模拟试卷一
(时间90分钟,满分100分)
一、选择题(1~10、21—40每小题2分,11~20每小题1分,共70分)
1.下列叙述中正确的是( )。
A.栈是“先进先出”的线性表
B.队列是“先进先出”的线性表
C.循环队列是非线性结构
D.有序链表既可以采用顺序存储结构,也可以采用链式存储结构
2.支持子程序调用的数据结构是( )。
A.栈B.树C.队列D.二叉树
3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A. 10 B.8 C.6 D.4
4.下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序B.简单选择排序
C.直接插入排序D.堆排序
5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A.编译软件B.操作系统
C.教务管理系统D.汇编程序
6.下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
8.数据库应用系统中的核心问题是( )。
A.数据库设计B.数据库系统设计
C.数据库维护 D.数据库管理员培动
9.有两个关系R,S如下:
《C语言程序设计》复习题有答案1
《C语言程序设计》复习题有答案1
《C语言程序设计》复习题
一、填空题
1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。
2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。
3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。
4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。
5、在C语言中,用关键字 float 定义单精度实型变量。
6、在C语言中,用关键字 double 定义双精度实型变量。
7、在C语言中,用关键字 char 定义字符型变量。
8、在C语言的赋值表达式中,赋值好左边必须是变量。
9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为
-32768--32768 。
10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。
11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为
-60 。
12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
13、在程序运行过程中,其值不能被改变的量称为常量。
14、C程序中定义的变量,代表内存中的一个存储单元。
15、C语言中,int类型数据字符占内存 2 个字节。
16、C语言中,char类型数据占内存 1 个字节。
17、C语言的字符常量是用单引号括起来的一个字符。
18、语句printf(“\n”);的作用是换行输出。
19、10/3的结果是3 。
20、10%3的结果是 1 。
21、C语句的最后用;结束。
22、要使用putchar函数,在#include命令行中应包含的头文件是#include。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言考试期末考试复习题及答案
一、选择题
(1) 一个C语言程序总是从(C )开始执行
A) 书写顺序的第一个函数
B) 书写顺序的第一条执行语句
C) 主函数main()
D) 不确定
(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )
A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y
D) !((x (3) 执行以下程序段后,i的值是 ( C ) int i=10; switch(i+1) { case 10: i++; break; case 11: ++i; case 12: ++i; break; default : i=i+1; } A) 11 B) 13 C) 12 D) 14 (4) 语句while(!e);中的条件!e等价于 ( A ) A) e==0 B)e!=1 C) e!=0 D) 运行时出错 (5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B ) A) 随机值B) 0 C) 1 D) F (6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A ) A)5 B) 6 D) 7 D 9 (7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B ) A) 随机值B) m C)o D) omputer (8) 在以下函数调用语句中 fun1(x,10,(x,10),fun2(y,10,(y,10))); 函数fun1参数的个数为 ( B ) A) 8 B) 4 C) 5 D) 编译出错 (9) 在说明一个结构体变量时系统分配给它的存储空间是( D ) A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储 空间 C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需 存储空间的总和 1. 用C语言编写的代码程序( B ) A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是( A ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 3. 以下定义语句中正确的是( C ) A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a; 4.下列选项中,不能用作标识符的是( D ) A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( B ) A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是 ( A ) A)局部变量说明为static存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同 7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B) A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5); 8.有以下程序(a) main() { char a='a',b; printf("%c,",++a); printf("%c\n",b=a++);} 程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c 9.有以下函数定义:(c) void fun(int n, double x) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x) 10.已定义c为字符型变量,则下列语句中正确的是(c) A)c='97'; B)c="97"; C)c=97; D)c="a"; 11.以下能正确定义一维数组的选项是(b) A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100; int num[N]; int num[N]; 12.以下能正确定义数组并正确赋初值的语句是(d) A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}}; 13.有以下程序(a) main() { int i; for (i=0; i<3; i++) switch (i) { case 1: printf("%d ", i); case 2: printf("%d ", i); default : printf("%d ", i); } } 执行后输出结果是 A) B)012 C) D)120