浙江理工大学06c语言期末试卷(含答案)精要
C程序设计试卷
单选题(本题共分,每小题分)要把高级语言编写的源程序转换为目标程序,需要使用___(1)__。
[A] 编辑程序 [B] 驱动程序 [C] 诊断程序 [D] 编译程序(2)设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是 a++; [B] b++; [C] c++; [D] d++;(3)若有定义和语句: char s[10]:s="abcd";printf("%s\n",s);则结果是(以下u代表空格) ___(3)__。
[A]输出abcd [B] 输出a [C] 输出abcduuuuu [D] 编译不通过(4)有以下程序 main( ) { int x=102,y=012; printf(“%2d,%2d\n”,x,y); } 执行后输出结果是10,01 [B] 02,12 [C] 102,10 [D] 02,10(5)若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文。 "ab+"????????[B] "wb+"? [C] "rb+"????????[D] "ab"(6)若有说明语句: char s1[4]=”12”;? char? *ptr;ptr=s1;printf(“%c\n”,*(ptr+1));
[A]字符‘2’???? 整数2????????? 字符串“12”????? 字符‘1’while(!x)中的条件表达式(!x)与下面条件等价。x==0????? [B] x==1?? [C] x==0|| x==1???? ?[D] x!=0(8)若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是___(8)__ 。
[A] scanf("%d%d%d",&a,&b,d); [B] scanf("%d%d%d",&a,&b,&d);
[C]scanf("%d%d%d",a,b,d); [D]scanf("%d%d%d",a,b,*d);(9)有以下说明语句,则对结构体变量s的成员num的不正确引用是struct?? student{
int num;
int age;
}s,*p;
[A] *p.num???? [B]?s.num???? [C] p->num???? [D] (*p).num (10)有以下程序其输出结果是void swap1(int c[])
{ int t;
t=c[0];
c[0]=c[1];
c[1]=t; }
void swap2(int c0,int c1)
{ int t;
t=c0;c0=c1;c1=t; }
main( )
{ int a[2]={3,5},b[2]={3,5};
swap1(a) ;
swap2(b[0],b[1]);
printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]);
}
[A] 5 3 5 3 [B] 5 3 3 5 [C] 3 5 3 5 [D] 3 5 5 3程序填空题(本题共0分,每小题2分。#include
main()
{
int i,h,t,o,j=0;
for(i=100;i<999;i++){
h=___(11)__; /*百位数*/
t=___(12)__; /*十位数*/
o=___(13)__; /*个位数*/
if (i==h*h*h+t*t*t+o*o*o)
{ printf("%d ",i); ___(14)__;
if (___(15)__)printf("\n");}
}
}
【选项】
(11)[A] i%10 [B] i/100 [C](i%10)/10 [D] (i/10)%10(12)[A] i%10 [B] i/100 [C] (i%10)/10 [D] (i/10)%10(13)[A] i%10 [B] i/100 [C] (i%10)/10 [D] (i/10)%10(14)[A]i++ [B]j++ [C]j=i [D] 空(15)[A] j%2=0 [B]i%2==0 [C]j/2=0 [D] j%2==0(2)【程序说明】
下面程序段是把从终端入的一行字符作为字符串放在字符数组中,然后输出。请填空。int i;
char s[80],*p;
for(