《青島科技大學(xué)c語言期末考試題.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《青島科技大學(xué)c語言期末考試題.doc(7頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第四套試題
一、選擇題(20個(gè)小題,每小題2分,共40分):
1、以下不正確的C語言標(biāo)識(shí)符是____。
A.ABC B.a(chǎn)bc C.a(chǎn)_bc D.a(chǎn)b.c
2、設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是____。
A.‘a(chǎn)’&&‘b’ B.a(chǎn)<=b C.a(chǎn)||b+c&&b-c D.!((a
(此處代表Enter),則程序的輸出結(jié)果是____。
main( )
{ int a;float b,c;
scanf(“%2d%3f%4f”,&a,&b,&c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c);
}
A.a(chǎn)=98,b=765,c=4321 B.a(chǎn)=10,b=432,c=8765
C.a(chǎn)=98,b=765.000000,c=4321.000000 D.a(chǎn)=98,b=765.0,c=4321.0
5、設(shè)有如下函數(shù)定義:int f(char *s)
{ char *p=s;
while(*p!=‘\0’) p++;
return (p-s);
}
如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果為____。
printf(“%d\n”,f(“goodbye!”));
A.3 B.6 C.8 D.0
6、以下程序的輸出結(jié)果是____。
main( )
{ int w=4,x=3,y=2,z=1;
printf(“%d\n”,(w=&b[0]) putchar(*chp);
putchar(‘\n’);
}
A.Goodbye B.gOODBYE C.無任何輸出 D.eybdooG
18、若有如下說明,則____的敘述是正確的。
struct st
{ int a;
int b[2];
}a;
A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的
B.程序只有在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st分配存儲(chǔ)單元
C.程序運(yùn)行時(shí)為結(jié)構(gòu)體變量a分配6個(gè)字節(jié)存儲(chǔ)單元
D.不能將結(jié)構(gòu)體類型說明與變量定義緊湊寫在一起
19、設(shè)有如下定義:struct std
{ int a;
float b;
}data ,*p;
若有p=&data;則對(duì)data中的成員變量a的正確引用是____。
A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a
20、以下程序的輸出結(jié)果是____。
main( )
{ char x=040;
printf(“%d\n”,x=x<<1);
}
A.100 B.160 C.120 D.64
二、填空題(10個(gè)小題,每小題2分,共20分):
1、若a是int型變量,則執(zhí)行表達(dá)式 a=25/3%3 后,a的值為____。
2、C語言中用____表示邏輯值“真”。
3、用在循環(huán)結(jié)構(gòu)中,可以結(jié)束本次循環(huán)的語句是____。
4、用數(shù)組名作為函數(shù)參數(shù)是地址傳遞方式。地址傳遞是____(單向/雙向)傳遞。
5、在二維數(shù)組初始化時(shí),可以省略數(shù)組的____(行下標(biāo)/列下標(biāo)),系統(tǒng)會(huì)根據(jù)初值的個(gè)數(shù),算出該下標(biāo)的大小。
6、若輸入字符‘A’,在以下while語句執(zhí)行后ch的值為____。
while(ch=getchar( )==‘A’);
7、所謂“指針”,就是____。
8、設(shè)有宏定義:#define MUL(z) (z)*(z),則執(zhí)行以下語句后,輸出結(jié)果為____。
printf(“%d\n”,MUL(1+2)+3);
9、若有定義和語句:char str[ ]=“ABCD”,*p=str;
printf(“%d\n”,*(p+4)); 則輸出結(jié)果是____。
10、能夠?qū)崿F(xiàn)局部翻轉(zhuǎn)(0變1,1變0)的位運(yùn)算是____。
三、讀下面程序,寫出執(zhí)行結(jié)果(4個(gè)小題,每小題5分,共20分):
1、若運(yùn)行以下程序時(shí),從第一列開始輸入數(shù)據(jù):2473(代表Enter),寫出程序的執(zhí)行結(jié)果。
#include “stdio.h”
main( )
{ char c;
while((c=getchar( ))!=‘\n’)
switch(c-‘2’)
{ case 0:
case 1 :putchar(c+4);
case 2 :putchar(c+4);break;
case 3 :putchar(c+3);
default:putchar(c+2);break;
}
printf(“\n”);
}
2、main( )
{ int x=2,y=3,z=0;
try(x,y,z);
printf(“(2)x=%d,y=%d,z=%d\n”,x,y,z);
}
try(int x,int y,int z)
{ z=x+y; x=x*x; y=y*y;
printf(“(1)x=%d,y=%d,z=%d\n”,x,y,z);
}
3、#include “stdio.h”
#include “string.h”
main( )
{ char *p1=“abc”,*p2=“ABC”,str[50]=“xyz”;
strcpy(str+2,strcat(p1,p2));
printf(“%s\n”,str);
}
4、#include “stdio.h”
#define NUM 8
void invert(int *a,int n);
main( )
{ int a[NUM]={10,20,30,40,50,60,70,80},i;
invert(a,NUM);
for(i=0;i0)
{ strcpy(s,str[0]);
strcpy(str[0],str[i]);
strcpy(str[i],s);
}
for(i=0;i<9;i++)
if(strcmp(str[i],str[9])>0)
{ strcpy(s,str[i]);
strcpy(str[i],str[9]);
strcpy(str[9],s);
}
puts(str[0]);
puts(str[9]);
}
鏈接地址:http://m.kudomayuko.com/p-6560449.html