c语言模拟一试题 下载本文

内容发布更新时间 : 2024/5/5 2:52:30星期一 下面是文章的全部内容请认真阅读。

IMTI英泰移动通信学院 c语言模拟试题(第1套) 襄樊育源学校

c语言模拟试题(第1套)

(总分:100分 考试时间:120分钟)

班级: 姓名: 考试日期: 分数:

第一题:单选题(每题1分,共计40分)

1. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。

A)必须为字母 B)必须为下划线

C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符 2.在C语言中,字符型数据在内存中是以()形式存放的。 A).原码 B).BCD码 C).反码 D).ASCII码

3.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )。

A)char

4. 设有说明:char w;int x,float y;double z; 则表达式w*x+z-y值的数据类型为( )。

A)float B)char C) int D)double

5. 已知ch是字符型变量,下面正确的赋值语句是( )。 A) ch= '123'; B) ch= '\\xff'; C) ch= '\\08'; D) ch=\6. 设x 、y均为f1oat型变量,则以下不合法的赋值语句是( )。 A)++x; B)y=(x%2)/10; C) x*=y+8; D)x=y=0;

7. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。 A)7 B)8 C)6 D)2

8. C语言中,while和do?while循环的主要区别是( )。 a) while的循环控制条件比do?while的循环控制条件严格 b) do?while的循环体至少无条件执行一次

第 1页 / 共 15页

1

IMTI英泰移动通信学院 c语言模拟试题(第1套) 襄樊育源学校

c) do?while允许从外部转到循环体内 d) do?while的循环体不能是复合语句

9.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式( )。 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息

10.若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )。

A) scanf(\B) scanf(\ C) scanf(\D) scanf(\

11. C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( ) A. 地址传递 B. 单向值传递

C. 由实参传给形参,再由形参传回给实参 D. 由用户指定的传递方式

12. 在C语言中,形参的缺省存储类型是() A. auto B. register C. static D. extern

13. 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。

第 2页 / 共 15页 2

IMTI英泰移动通信学院 c语言模拟试题(第1套) 襄樊育源学校

A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 14. 已有定义int x; f1oat y;且执行scanf(\语句,若从第一列开始输入数据12345 678(回车),则x 的值为( )。 A)12345 B)123 C) 45 D) 345 15. 有下面的程序段 char a[3],b[]=\ a=b;

printf(\ 则( )

A)运行后将输出china B)运行后将输出ch C)运行后将输出chi D)编译出错 16.判断字符串s1是否大于字符串s2,应当使用( ) A) if(s1>s2) B)if(strcmp(s1,s2)) C) if(strcmp(s2,s1)>0) D) if(strcmp(s1,s2)>0) 17.若用数组名作为函数调用的实参,传递给形参的是( )。 A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数

18.以下不正确的说法是( )。

A) 在不同函数中可以使用相同名字的变量。 B)形式参数是局部变量。

C)在函数内定义的变量只在本函数范围内有效。

D)在函数内的复合语句中定义的变量在本函数范围内有效。 19. 设int a=4,b=20;

if (a>b && ++a

第 3页 / 共 15页 3