大连外国语大学C语言考题
本试卷为大连外国语大学C语言考题,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
C语言考题
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、c 源程序中不能表示的数制是________。
( B )
2、设有定义:long x=-123456l; 则以下能够正确输出变量x值的语句是________。
( A )
3、下列叙述中错误的是________。
( B )
4、有以下程序 struct stu { char name[10]; int num; float totalscore; }; void f(struct stu *p) { struct stu s[2]={{"sundan",20044,550} ,{"penghua",20045,537}}, *q=s; ++p ; ++q; *p=*q; } main() { struct stu s[3]= {{"yangsan",20041,703},{"lisiguo",20042,580}}; f(s); printf("%s %d %3.0f\n", s[1].name, s[1].num, s[1].totalscore); } 程序运行后的输出结果是________。
( D )
5、不合法的常量是: 。
( C )
6、设有如下枚举类型定义: enum language { basic=3 , assembly , ada=100 , cobol , fortran }; 枚举量 fortran 的值为 。
( D )
7、有如下程序 #include<stdio.h> void main() { char ch[80]="123abcdefg*&"; int j; long s=0; puts(ch); for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e'; puts(ch); } 该程序的功能是 __________.
( A )
8、如果用数组名作为实参,则传递给形参的是________。
( B )
9、若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是________。
( A )
10、以下程序的输出结果是________。 #include<stdio.h> main() { int a=4,b=3,c=2,d=1; printf("%d",a<b?a:d<c?d:b); }
( B )
11、若有定义语句:char s[10]="1234567\0\0"; 则strlen(s)的值是________。
( B )
12、下列变量定义中,错误的是______。
( D )
13、以下程序结果为:______。 void add( ) { static int y=4; y--; printf("%d",y); } main( ) { int m; for(m=0;m<4;m++)add( ); }
( D )
14、有以下程序 typedef struct { int b,p; } a; void f(a c) /* 注意:c是结构变量名 */ { int j; c.b+=1; c.p+=2; } main() { int i; a a={1,2}; f(a); printf("%d,%d\n",a.b,a.p); } 程序运行后的输出结果是______。
( B )
15、一个字节代表几位二进制数():
( D )
16、运行下段程序的结果是________。 #include<stdio.h> main( ) { int x; for(x=1;x<=100;x++) if(++x%==0) if(++x%3==0) if(++x%5==0) printf(''%d'',x); }
( D )
17、以下叙述中正确的是________。
( C )
18、下列程序段的输出结果为________。 int x=3,y=2; printf("%d",(x-=y,x*=y+8/5));
( C )
19、下列各定义数组的语句中不正确的是________。
( A )
20、执行以下循环语句时,下列说法正确的是________。x = -1; do { x = x * x; } while (x == 0);
二、填空题 (共10题,每题2分,共计20分)
1、c语言提供的三种逻辑运算符是________、________、________。
2、函数的返回值是通过函数的________语句获得的。
3、c语言变量按其作用域分为 全局变量和局部变量。按其生存期分为________存储 和________存储 。
4、若有语句double x=17; int y; ,当执行y=(int)(x/5)%2;之后y的值是 ________。
5、在c语言中,假使x为单精度实型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。
6、下列程序段的运行结果是_____。#define MAX(x , y) x>y? x : y main( ) { int a , b , max; A=5, b=6; Max=MAX(a,b); printf("max=%d\n",max); }
7、c语言中与指针有关的两个运算符是________与*。
8、下列程序段的运行结果是________。 main() { int n,s=0 ; for(n=1; n<=5; n++) { if(n%2==0) continue; s=s+n; } printf("%d\n", s); }
9、写出下列程序的运行结果。 main() { int n; for(n=3; n<=10; n++) { if(n%6==0) break; printf("%d",n); } }
10、有1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请分析程序填空。 #include <stdio.h> main() { int day, x1, x2; day = 0; x1 = 1020; while (____1____) { x2 = ____2____; x1 = x2; day++; } printf("day=%d\n", day); }
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:假设奖金税率如下(a代表奖金,r代表税率) 500<=a<1000 r=5% 1000<=a<2000 r=8% 2000<=a<3000 r=10% 3000<=a r=15%输入的一个奖金数,求税率和应缴税款以及实得的奖金数(扣除奖金税后)。
2、编写程序:计算字符串中子串出现的次数 。请输入两个字符串,以回车隔开,母先串在前,子串在后,比如: abca a 2
3、编写程序:从键盘输入 n (n<10)个学生的学号(学号为4位的整数,从1000开始)、成绩并存入结构数组中,按成绩从低到高排序并输出排序后的学生信息。 输入输出示例:括号内为说明,无需输入输出 输入样例: 3 (n=3) 1000 85 1001 90 1002 75 输出样例: 1002 75 1000 85 1001 90
相关标签:
- C语言
- 大连外国语大学
- 考题