杭州电子科技大学学生考试卷( A )卷
考试课程
C语言程序设计
考试日期
6月20日
成 绩
课程号
教师号
40984
任课教师姓名
考生姓名
学号(8位)
年级
专业
说明: 请将全部答案都书写在最后页答卷纸上,否则答题无效。
试题一、判断题 (共10分)
不同类型的变量在内存中占用存储空间的大小可以不一样。
switch语句中必须含有defualt语句和break语句。
指针变量是把另一个变量的地址作为其值的变量。
表达式 625%2.5 是合法的C语言表达式。
若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。
数组名仅仅是一个数组的名字符号,除此之外没有其它任何含义。
C语言任何类型的数据在计算机内部都是以二进制形式存储的。
格式符“%o”是按16进制输出整数。
如果s1、s2是两个字符,C语言程序中可以用s1==s2比较这两个字符是否相等。
结构体类型中各成员项的数据类型可以不同。
试题二、单选题,根据题目从A、B、C、D中选择一个正确的选项(共10分)
1. 有定义double x=1,y;表达式y=x+3/2的值是( )。
A、 1B、 2C、2.0D、2.5
2. 数组定义为 int a[3][2]={1,2,4,5,6},下列表述中正确的是( )。
A、a[3][2]的值为6 B、a[1][1]+1的值为6
C、a[2][1]的值不确定 D、a[0][0]的值为0
3. 定义char s[ ]={"Boy"},t; 执行下面语句段后输出结果是( )。
s[0]=s[2];
s[2]=s[0];
s[1]=s[3];
s[3]=s[1];
printf("%c,%s \n", s[0], s);
A、B,Boy B、y,y C、y,yoy D、y,yoB
4. 若有float a=2.5,b=6.3, *pa=&a; 执行语句“ *pa*=3; pa=&b ”以后; 则正确的是( )。
A、pa的值是2.5 ; B、*pa的值是6.3
C、*pa的值是7.5 D、 pa的值是6.3;
5. 下列语句中与语句 while(1){if(i>=100)break;s+=i;i++;} 功能相同的是( )。
A、for(;i<100;i++) s=s+i; B、for(;i<100;i++;s=s+i);
C、for(;i<=100;i++) s+=i; D、for(;i>=100;i++;s=s+i);
6. 若有 char c1, c2, s = 'b' ; 连续执行下面语句后,c1,c2和s的输出值是( )。
c1 = s++ ; c2=++s ; printf("%c,%c,%c",c1,c2,s);
A、 b,c,d B、 b,d,d C、 d,e,f D、 b,d,b
7. 在C语言中,当复合语句多于一条时,要用括号括起来,使用的是( )
A、方括号 B、圆括号 C、花括号 D、尖括号
8.下面程序段中循环体执行多少次( )。
i=0; k=10; while( i=8 ) i=k--;
A、8次B、10次
C、2次 D、无数次
9.能对一维数组正确初始化的语句是( )。
A、int a[6]={6*1};B、int a[6]={1,,,3};
C、int a[6]={};D、int a[6]=(0,0,0);
10.若有定义:struct person { char name[9]; int age; };
struct person st[3]={"john",17,"Mary",19,"Paul",18};
能输出学生Paul名字的语句是( )。
A、printf("%s",st[2].name[0]); B、printf("%s",st[2].name);
C、printf("%s",st[3].name); D、printf("%s",st[3].name[0]);
试题三、程序阅读(共24分)
1. 阅读下列程序,并写出程序执行结果。
#include
void main()
{ int x,d,s=0,k=0;
scanf("%d",&x); //输入5782
do{ d=x%10;
k=k*