C语言模拟试卷2 带答案

发布 2023-05-19 03:54:28 阅读 9266

单选题:

1、 执行下面的程序段后,变量k中的值为。

s[0]=k;k=s[1]*10;

a. 不定值

b. 33

c. 30

d. 10答案: a

2、 设有以下定义:

#define n 3

#define y(n) (n+1)*n)

则执行语句:z=2*(n+y(5+1));后,z的值为___2*(3+(4*5+1)

a. 出错。

b. 42c. 48

d. 54答案: c

3、 若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是___

a. 1b. 2

c. 2.0

d. 2.5

答案: c4、 请选出以下语句的输出结果___

printf("%d",strlen("\t\065\xff"))

a. 5b. 4

c. 8d. 输出项不合法,无正常输出。

答案: b5、 为避免嵌套的条件分支语句if…else的二义性,c语言规定,c程序中的。

else总是与___组成配对关系。

a. 其上面距它最近的,并且没有其他else与其配对的if相配对。

b. 在同一行上的if

c. 缩排位置相同的if

d. 在其之前未配对的if

答案: a6、 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y));

上面程序片段的输出结果是。

a. 200

b. 100

c. 100 200

d. 输出格式符不够,输出不确定的值。

答案: a7、 请读程序片段(字符串内没有空格字符):

printf("%d",strlen("ats012\1\\"

上面程序片段的输出结果是。

a. 11b. 9

c. 10d. 8

答案: b8、 设有以下程序段。

intx=0,s=0;

while(!x!=0)s+=+x;

printf("%d",s);

则___a. 运行程序段后输出0

b. 运行程序段后输出1

c. 程序段中的控制表达式是非法的。

d. 程序段执行无限次。

答案: b9、 阅读下列程序:

main()

下述程序运行后输出结果是。

a. 2b. 1

c. 0d. 3

答案: d10、 输入一个华氏温度,要求输出摄氏温度。计算公式为: c=5/9(f-32),以下程序正确的是()

a. main()

b. main()

c. main()

d. main()

答案: b11、 以下程序的输出结果是。

main( )

int k=17;

printf("%d,%o,%x",k,k,k);

a. 17,021,0x11

b. 17,17,17

c. 17,0x11,021

d. 17,21,11

答案: d12、 请读程序:

main()

intx=1,y=0,a=0,b=0;

switch(x)

case1:

switch(y)

case0:a++;break;

case1:b++;break;

case2:

a++;b++;break;

printf("a=%d,b=%d",a,b);

上面程序输出结果是。

a. a=2,b=1

b. a=1,b=1

c. a=1,b=0

d. a=2,b=0

答案: a13、 c语言中,调用一个函数时,实参变量和形参变量之间的数据传递是___

a. 单纯值传递。

b. 单纯地址传递。

c. 值传递和地址传递都有可能。

d. 由实参传给形参,然后由形参传回给实参,即是双向传递。

答案: a14、 下列不正确的转义字符是( )

a. 'b. '

c. '101'

d. '0'

答案: b15、 下列语句正确的是()

a. if(a > b > c) temp=a

b. if((a=b) >0) temp=a

c. int a=b=c=4

d. int a;scanf(%d,a)

答案: b16、 以下说法中正确的是( )

a. c语言程序中是从第一定义的函数开始执行。

b. 在c语言程序中,要调用的函数必须在main()函数中定义。

c. c语言程序总是从main()函数开始执行。

d. c语言程序中的main()函数必须放在程序的开始部分。

答案: c17、 下列说法中正确的是___

a. 一个数组能够存储许多不同类型的值。

b. 数组的下标可以是float数据类型。

c. 如果初始化值列表中的个数少于数组的元素的个数,c编译器会自动补齐。

d. 初始化值列表中的值的个数多于数组元素的个数是错误的。

答案: d18、 设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。

a. float

b. char

c. int

d. double

答案: d19、 设以下变量均为int类型,则值不等于7的表达式是。

a. (x=y=6,x+y,x+1)

b. (x=y=6,x+y,y+1)

c. (x=6,x+1,y=6,x+y)

d. (y=6,y+1,x=y,x+1)

答案: c20、 以下不正确的if语句形式是。

a. if(x>y&&x!=y)t=x++;

b. if(x==y) x+=y;

c. if(x!=y) scanf("%d",&x) else scanf("%d",&y);

d. if(x<>

答案: c21、 若i为整型变量,则以下循环执行次数是。

for(i=2;i==0;)printf("%d",i--)

a. 无限次

b. 0次

c. 1次

d. 2次。

答案: b22、 以下错误的描述是:函数调用可以。

a. 出现在执行语句中

b. 出现在一个表达式中。

c. 做为一个函数的实参

d. 做为一个函数的形参。

答案: d23、 以下各选项企图说明一种新的类型名,其中正确的是。

a. typedef v1 int;

b. typedef v2=int;

c. typedef v1 int v3;

d. typedef v4: int;

答案: c24、 以下程序的输出结果是。

main()

inta=5,b=4,c=6,d;

printf("%d",d=a>b?(a>c?a:c):(b));

a. 5b. 4

c. 6d. 不确定。

答案: c25、 以下程序调用findmax函数返回数组中的最大值。

findmax(inta,intn)

int*p,*s;

for(p=a,s=a;p-as p

if()s=p;

return(*s);

main()

intx[5]=;

printf("%d",findmax(x,5));

在下划线处应填入的是。

a. p>s

b. *p>*s

c. a[p]>a[s]

d. p-a>p-s

答案: b26、 有如下程序。

main()

chars=abcd",*p;

for(p=s+l;p}

该程序的输出结果是。

a. abcd bcd cd d

b. a b c d

c. b c d

d. bcd cd d

答案: d27、 下列描述中不正确的是。

a. 字符型数组中可以存放字符串。

b. 可以对字符型数组进行整体输入、输出。

c. 可以对整型数组进行整体输入、输出。

d. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值。

答案: c28、 将三个数排序需要比较___次。

a. 2b. 3

c. 4d. 不确定。

答案: b填空题:

1、 下面程序功能是:输出100以内能被3整除且个位数为6的所有整数,请填

空。 #include <

main()

int i, j;

for(i=0; _1)__i++)

j=i*10+6;

if( _2continue;

printf("%d",j);

C语言试卷 带答案

浙江科技学院。2006 2007学年第二学期考试试卷a卷 考试科目 c语言程序设计考试方式闭卷完成时限 2小时 拟题人审核人批准人 2007年 7 月 5 日。机械 电气 信息 生化 轻工 经管 理学院 2006年级各理工科专业。说明 1.应将全部答案写在答卷纸对应的题号处 否则作无效处理 2.编程...

C语言试卷带答案

甘肃工业职业技术学院。2008 2009学年度第一学期 c语言程序设计 试卷 a 一 选择题 每小题2分,共40分 1 下列可以正确表示字符型常量的是 a b a c t d 298 2 已经int i float f 正确的表达式是 a int f i b int f i c int f i d ...

带答案C语言2 10章作业

c语言习题集。专业班级学姓。号名。c语言习题集。第2章运算符与表达式。一 选择题。1.若有定义 int a 2,b 3 float x 3.5,y 2.5 则下面表达式的值为 c float a b 2 int x int ya 3.5 b 35c 3.500000 d 35.00000 2.若有定...