C语言习题(2)

2019-03-27 23:41

变量c的值是( )

① 12 ② 14 ③ 48 ④ -2

12、指向变量的指针,其含义是指该变量的( )

① 值 ② 地址 ③ 名 ④ 一个标志

13、执行int a=5,*p=&a;后,*p的值是什么?( )

① 变量a的地址值 ②无意义 ③ 变量p的地址 ④ 5

14、有类型定义 char s[3] = \char *p; 执行语句p=s;之后,*(p+1)的值为(① ‘B’ ② ‘\\0’ ③ 不确定 ④ 字符’B’的地址

15、联合体类型变量在程序执行期间的某一时刻( ) ① 所有成员驻留在内存中

② 只有一个成员驻留在内存中 ③ 部分成员驻留在内存中 ④ 没有成员驻留在内存中

四、程序填空题

1、以下函数求x的y次方,补足所缺语句,以实现函数的功能。

double fun(double x, int y) { int i;

double z = 1;

for (i=1; ; i++) z = ; return z; }

五、程序阅读

1.下列函数实现的功能是( )。 long fun(int i) { long t=1;

for(int j=1;j<=i;j++) t=t*j; return t; }

2.下列程序的运行结果是( )。 #include

int b[]={-3, 2, 0, 1, -2} ; int f(int *a, int x) {

int s=0;

for(int n=3; n>=0; n--) s += x+a[n]; return s; }

main() {

printf(\ printf(\ printf(\ return 0; }

一、判断题(每题 1 分,共 10 分) 1~5 ×、√、×、√、√ 6~10 ×、√、√、√、×

二、填空题(每题1分,共10分) 1、char arr[20]; 2、s=(a+b)*(a+b); 3、AC;

4、ch>=’A’&&ch<=’Z’ 5、char a[]=”abc”; 6、9 7、11 8、26

9、双向链表 10、 stu.no=8

三、单选题(每题 2 分,共 30 分) 1~5 ③、④、②、③、③ 6~10 ④、①、①、④、② 11~15 ②、②、④、①、②

四、程序填空题(每题5分,共15分)

1、i<=y (2.5分) z=z*x (2.5分)

五、程序阅读(每题5分,共15分) 1、求整数的阶乘 2、4 8 12

(三)

一、判断题

( )1、C语言中,函数是程序的基本单位,一个程序可以由若干个main函数和其它函数组成。

( )2、C语言规定标识符只能由字母和数字组成,且第一个字符必须为字母。

( )3、若有int a,b,t; b=1; 请判断以下语句是否符合C语言语法规则:if ( (a=b)>0) t=a;

( )4、C语言中,有调用关系的所有函数必须放在同一个源程序文件中。 ( )5、定义函数时指定的形参变量,函数调用结束后将释放所占内存单元。 ( )6、C语言中,函数的定义可以嵌套,但函数调用不能嵌套。

( )7、C语言中,数组名作为参数传递给函数,作为实在参数的数组名被处理为该数组的

首地址。

( )8、在C++中,指针变量可用于保存同类型变量的地址值。

( )9、C语言中,char *cptr[3]定义了一个一维指针数组,它有3个元素,每个元素都是指向字符数据的指针型数据。

( )10、C语言中,可以把一个结构体变量作为一个整体赋值给另一个具有相同类型的结构体变量。

二、填空题

1、在C语言中,已知:char ch=’A’; 则下列表达式的值是( )。 ch = (ch>=’A’&&ch<=’Z’)?(ch+32):ch; 2、在C语言中,若a=1,b=2,c=3,则执行表达式(a>b)&&(C语言)后,c的值为( )。 3、在C语言中,下面的for循环语句最多可执行( )次。

for(x=0,y=0;(x<4)&&(y!=99);x++)

4、在C语言中,凡在函数中未指定存储类别的变量,其隐含的存储类别为( )。 5、链表是一种非常有用的动态数据结构,只有一个指针链的链表称为( )。 6、在C语言中,字符串不存放在一个变量中,而是存放在一个( )中。

7、对数组a[]进行初始化的数据为{2,4,6,8,10,12,14},则a[1]被初始化为( )。 8、若有语句int a=3,*p=&a;,则*p的值是( )。 9、&后跟简单变量名,表示该变量的( ),&后跟指针变量名,表示该指针变量的( )。

10、有语句struct point{int x;int y;}; point s,*p=&s; 则对结构体成员x的引用方法可以是s.x和( )。

三、选择题

1、int a=12;则执行语句a*=2+3后,a的值为( )。 ① 27 ② 60 ③ 38 ④ 0

2、下列变量名,( )是合法的

① my_car ② my-car ③ my.car ④ my&car

3、若a,b均为int型变量,x,y 均为float型变量,正确的输入函数调用是( ) ① scanf(“%d%f”,&a,&b); ② scanf(“%d%f”,&a,&x); ③ scanf(“%d%d”, a, b); ④ scanf(“%f%f”,x,y);

4、若a,b均为int型变量且有值,要输出a,b的值,正确的输出函数调用是( )。 ① printf(“%d%d”,&a,&b); ② printf(“%f%f”,a,b); ③ printf(“%f%d”, a,b); ④ printf(“%d%d”,a,b);

5、在下列的表达式中,能正确表示”a>=10或a<=0“的是 ( ) ① a>=10 or a<=0 ② a>=10 | a<=0 ③ a>=10 || a<=0 ④ a>=10 && a<=0

6、语句:

for (int k = 10; k>=0; k++)

cout<

① 编译通不过 ② 能运行, 但会死循环 ③ 能运行, 且不会死循环 ④ 以上说法都不对

7、定义在函数体内的变量具有( )

① 函数作用域 ② 文件作用域 ③ 块作用域 ④ 函数原型作用域

8、下列说法中正确的是( )

① 调用函数时,实参的类型、个数及顺序必须与函数定义时形参的类型、个数及顺序完全一致

② 函数可以嵌套定义

③ 函数必须有返回值,否则不能正确使用

④ C语言中,有调用关系的所有函数必须放在同一个源程序文件中

9、设c为char型变量,输入以下数据:right? <回车>

以下程序段的输出结果是( ) while((c=getchar())!=’?’) putchar(c);

① right? ② right ③ right; ④ righ

10、若有说明:int a[20];则可以正确引用数组元素的表达式是:( ) ① a[20] ② a[3.5] ③ a(3) ④ a[1+2]

11、若程序中定义了以下函数 double add(double a,double b) {

return (a+b); }

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )

① double add(double a,b); ② double add(double,double);

③ double add(double b,double a); ④ double add(double x,double y);

12、以下关于数组的描述中,正确的是( )

① 数组的大小是固定的,但可以有不同类型的数组元素 ② 数组的大小是可变的,但所有数组元素的类型必须相同 ③ 数组的大小是固定的,所有数组元素的类型必须相同 ④ 数组的大小是可变的,可以有不同类型的数组元素

13、设有语句:int a[10],*p=a;则下面的语句中,不正确的是( ) ① p++ ② (*p)++ ③ a[0]++ ④ a++

14、执行下面的程序段后,*p等于( ) int a[5]={1,3,5,7,9},*p=a; p++;

① 1 ② 3 ③ 5 ④ 7

15、当说明一个结构体变量时,系统分配给它的内存是( ) ① 各成员所需内存量的总和 ② 结构体中第一个成员所需内存量 ③ 成员中占内存量最大者所需的容量 ④ 结构体中最后一个成员所需内存量

一、判断题(每题 1 分,共 10 分)


C语言习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数学与应用数学本科高等代数大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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