天津工业大学2011年耀华杯程序设计竞赛(非专业组C语言)
2.执行下列程序段后,输出结果是 【32】 。
int k=10;
printf(\A) 10,10,10
B) 10,a,12
C) 10,12,a
D) 10,0,x
3.执行下列程序段后,变量m的值是 【33】 。
int m=2,k;
m=(k=3,k+15, k++); A) 2
B) 3
C) 4
D) 20
4.为了表示a和b都大于0,应使用的C语言表达式是 【34】 。 A) (a||b)>0 5.有程序段如下:
int i; float f;
scanf(\
若要求把数值12和45.6分别赋给变量i和f,则正确的输入格式是 【35】 。 说明:备选项中的“?”表示空格,“?”表示回车。 A) 12?45.6?
B) 12,45.6?
C) i=12?f=45.6?
D) i=12,f=45.6?
B) (a&&b)>0
C) (a>0)||(b>0)
D) (a>0)&&(b>0)
6.设有变量定义语句int a=3;执行语句a+=a*=2+5;后,变量a的值是 【36】 。 A) 14
B) 22
C) 24
D) 42
7.执行下列程序段后,输出结果是 【37】 。
int a=5,b=4,c=3; printf(\A) 0
B) 1
C) 5
D) 7
8.若所有变量均已正确定义,则下面程序段所表示的数学关系式是 【38】 。
if(a
?1(a?b且c?d)A)x??
2(a?b且c?d)??1(a?b且c?d)C)x??
2(a?b且c?d)?B) x???1(a?b且c?d)
?2(a?b)?1(a?b且c?d)
2(c?d)?D) x??第 6 页 共 12 页
天津工业大学2011年耀华杯程序设计竞赛(非专业组C语言)
9.执行下列程序段后,输出结果是 【39】 。
int k=5;
while(--k) printf(\A) 1
B) 2
C) 4
D) 死循环
10.若有定义语句:int m[]={1,3,4,7,9},k=3;
则下面对m数组元素的引用错误的是 【40】 。 A) m[k%2]
B) m[3+1]
C) m[m[k]]
D) m[m[4]/2]
11.下列程序段的输出结果是 【41】 。
char s[7]=\
printf(\A) 3
B) 4
C) 5
D) 7
12.若有定义语句 char s1[10],s2[10];
则函数调用strcmp(s1,s2)的功能是 【42】 。 A) 比较两个字符串的大小 C) 测试字符串s1中是否包含s2
B) 将字符串s1连接到s2末尾 D) 将字符串s2连接到s1末尾
13.若有定义语句int m=3, *p=&m; 则能够显示变量m的值的语句是 【43】 。 A) printf(\C) printf(\14.若有以下定义
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a, *p=a[0];
则能够表示数组元素a[1][2]的表达式是 【44】 。 A) *(*(p+5)) C) *((*ptr+1)+2)
15.如果在main( )函数后定义函数如下:
float fun(float x, float y) { return x*y; }
B) *(*(a+1)+2) D) (*ptr+1)+2 B) printf(\D) printf(\
则在main( )函数中调用fun函数时,需要提前进行函数声明。下列函数声明语句中错误的是 【45】 。 A) float fun(float x, float y); C) float fun(float a, float b);
B) float fun(float x, y); D) float fun(float , float );
第 7 页 共 12 页
天津工业大学2011年耀华杯程序设计竞赛(非专业组C语言)
16.下列程序的执行结果是 【46】 。
int f(int a,int b) { return a+b; } main()
{ int x=2,y=5,z=8,r; r=f(f(x,y),z); printf(\} A) 7
17.若有如下定义语句
struct node { int j;
int k; } x, *p=&x;
则下列表达式中错误的是 【47】 。 A) x.k=2; 18.若有如下定义:
enum color { red,yellow,blue=4,green,white} c1,c2; c1=yellow; c2=white;
printf(\程序运行结果是 【48】 。 A) 4
B) 6
C) 7
D) 9
B) x->k=2;
C) p->k=2
D) (*p).k=2
B) 10
C) 13
D) 15
19.已知fp为文件类型指针,若要打开D:盘根目录下的a.txt文件,下列选项中正确的是 【49】 。 A) fp=fopen(d:\\a.txt , r); C) fp=fopen(d:\\\\a.txt , r);
20.下列程序的输出结果是 【50】 。
#define ABC(x,y) x*y void main()
{ printf(\A) 7
B) 8
B) fp=fopen(\D) fp=fopen(\
}
C) 9
D) 10
三、阅读程序题(每空3分,共18 分)
说明:请将答案按照【 】中的序号写入试卷第1页的“文字答题卡”,否则不得分。
第 8 页 共 12 页
天津工业大学2011年耀华杯程序设计竞赛(非专业组C语言)
1.下列程序段的输出结果是 a=12 。 答案:12
int a=10; switch(a)
{ case 11: a+=1; case 10: a+=1;
case 9: a+=1; break; case 12: a+=1; }
printf(\
2.下面程序段的执行结果是 【2】 。 答案:a=8,b=22
int a,b;
for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue;} b-=5; }
printf(\
3.下列程序段的输出结果是 【3】 。答案: 6 9 7
void main()
{ int a[3][3]={6,5,2,1,8,9,4,7,3}; int i,k; for(i=0;i<3;i++) for(k=1;k<3;k++) if(a[i][0] 4.下列程序段的输出结果是 【4】 。答案:abxy char s[80]=\ char *p=&s[1]; p++; strcpy(p,\puts(s); 5.下列程序段的输出结果是 【5】 。答案:11 12 int a=4; void fun(int b) { int a=3; a=a+b++; printf(\ } 第 9 页 共 12 页 天津工业大学2011年耀华杯程序设计竞赛(非专业组C语言) void main() { int c=8; fun(c); a=a+c++; } printf(\ 6.下列程序的输出结果是 【6】 。答案:225 #include { char name[10]; int score[3]; } ; void main() { struct STU stu[3]={{\ struct STU *p=stu+1 ; int i ,sum=0 ; for(i=0; i<3; i++) sum=sum+p->score[i]; printf(\ } 四、程序填空题(每空2分,共20分) 说明:请将答案按照【 】中的序号写入试卷第1页的“文字答题卡”,否则不得分。 x2x3??? 求ex的1.下面程序的功能是:从键盘输入x,然后利用公式 e?1?x?2!3!x近似值,直到最后一项的绝对值小于10-6为止。 #include #include 【1】 答案: { int n=1; float t=1.0, x, s=1.0; scanf( 【2】 ); /*输入变量x的值*/ 答案:\ do { 【3】 ; 答案:t=t*x/n n+=1; s+=t; }while(fabs(t)>1e-6 ); printf(\} 第 10 页 共 12 页
相关推荐: