C语言卷子2张

1,042 阅读5分钟

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分)的学生编号、姓名和不及格的课程数。