c语言define san 1 2,C语言卷子2张

C语言卷1

选择题

1.设有如下定义,int a[100],则数组下标区间为()

A.0 ~ 99

B.1 ~ 99

C.0 ~ 100

D.1 ~ 100

2.下面合法的标识符(变量的名字)是 ()

A. auto

B. define

C. 6a

D. c

3.下列可以表示字符型常量的是()

A.'t'

B."a"

C."\n"

D.297

4.C语言对函数的正确描述是 ()

A.可以嵌套调用,不可以递归调用

B.可以嵌套定义

C.嵌套调用,递归调用均可

D.不可以嵌套调用

5.若有下列程序段

char x[80];

sacnf("%s",x);

printf("%s",x);

复制代码

从键盘上输入字符串“zhang san”,则输出结果为()

A.zhang

B.zhangsan

C.zhang san

D.san

6.在宏定义 #define PI "3.14159"中,用宏名PI 代替一个 ()

A.常量

B.单精度数

C.双精度数

D.字符串

7.若用数组名作为函数调用的实参,传递给形参的是()

A.数组的首地址

B.数组第一个元素的值

C.数组中全部元素的值

D.数组元素的个数

8.C语言允许函数值类型缺省定义(默认定义),此时该函数值隐含的类型是()

A.float

B.int

C.long

D.double

9.设有如下定义

int (*ptr)();

复制代码

则一下叙述中正确的是

A.ptr是指向一维数组的指针变量

B.ptr是指向int 型数据的指针变量

C.ptr是指向函数的指针变量,则函数返回一个int型数据

D.ptr是一个函数名,该函数返回的是指向int类型数据的指针

10.打开文件时,若文件使用方式选用字符串 “rb”,则表示

A.打开一个已存在的二进制文件,只能读取数据

B.打开一个文本文件,只能写入数据

C.打开一个已存在的问不能文件,只能读取数据

D.打开一个二进制文件,只能写入数据

判断题

1.不同函数中可以使用相同名字的变量

2.定义一维数组时,可以将该数组的长度省略

3.continue和break有着相同的作用

4.在条件表达式中,非0 代表为 真

5.在分支结构switch中,case后面跟的一定是常量

6./运算(除运算),要求运算数必须是整数

7.C语言本身没有输入输出语句,要是实现输入输出必须调用相应的函数

8.break语句只能用于循环中

9.continue语句只能用于循环中

10.函数参数在做调用时,实际参数必须与形式参数一致,包括数量和数据类型。

编程题

输入3 × 5 的矩阵,求其中最大数的行和列的下标。

C语言卷2

选择题

1.包括标准库函数 scanf() 声明的头文件是 ()

A. stdio.h

B. math.h

C. stdlib.h

D. time.h

2.C语言规定,函数的返回值类型是由 ( ) 决定的

A.return 语句中的表达式类型

B. 调用该函数时的主调函数类型

C.调用该函数时由系统临时

D. 定义函数时所指定的函数返回类型

3.判断字符串a和b内容是否相等,应当使用

A. if(a == b)

B. if (a = b)

C. if ( strcpy (a,b) )

D. if ( strcmp(a,b) )

4.叙述正确的是 ()

A.在 C 程序中,main函数必须位于程序得最前面

B.C语言本身没有输入输出语句。

C.C语言得每行只能写一条语句。

D.在对一个 C 程序进行编译的过程中,可以发现注释的拼写错误

5.对于整型变量 x,与 while (!x)等价的是

A. while (x != 0)

B. while (x == 0)

C. while (x != 1)

D. while ( ~ x)

6.若有定义

int i = 0, x = 0;

int a[3][3] = {1,2,3,4,5,6,7,8,9};

复制代码

则以下程序段运行后 x 的值为( )

for(;i < 3; i++) x += a[i][2-i];

复制代码A.0

B.12

C.15

D.18

7.若有定义

int *p, a = 4;

p = &a;

复制代码

则以下均代表地址的是

A.a , p

B.&a , p

C.&a , *p

D.a , *p

8.执行语句

for (k = 2; ++k < 4; k ++) ++k;

复制代码

后,变量 k 的值为

A.2

B.4

C.5

D.6

9.下列对C语言字符型一维数组的描述中,错误的是

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符“=”对字符数组赋予字符串

D.不可以用关系运算符对字符数组中的字符串进行比较

10.如果需要打开一个已经存在的非空文本文件“Demo”,在文件尾部添加新的数据,下面正确的选项是

A. fp = fopen("Demo","r");

B. fp = fopen("Demo","r +");

C. fp = fopen("Demo","a +");

D. fp = fopen("Demo","w +");

判断题

1.C语言规定,else总是与他上面的、最近的、尚未配对的if配对

2.switc 后面圆括号内的表达式的值和case 后面的常量表达式的值都必须是整型或字符型,不允许是浮点型

3.*(a[i] + j) 与 a[i] [j] 的含义相同

4.函数可以嵌套定义,可以嵌套调用

5.函数的形参只能在函数内部使用

6.C语言中,编译预处理后,所有符号常量名和宏名都用相应的字符串替换。

7.在对全部数组元素赋初值时,必须指定数组的长度

8.数组元素在内存中是顺序存放的,他们的地址是连续的

9.空指针的值为 NULL

10.指针不能实现对数据的间接访问

编程题

设计结构型,包含学生的编号、姓名、4科成绩。

编写程序。输入100名学生信息存入结构类型的数组变量中,然后输出有成绩不及格(<60分)的学生编号、姓名和不及格的课程数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值