期末考试题型:程序设计基础题型举例•、选择题1、 C 语言规定:在一个源程序中,main 函数的位置—B ________ 。
A. 只能在程序头部;B.可以在程序任何位置;C.必须在#include ^Uttdefine 语句后面;D.只能在程序最后面。
2、 在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为_A_。
A. RUNB. FILEC. EDITD. OPTION 3、 下面标识符中止确的是—B _______ oA. $a#bB. sumC. 1A23BCD.Y ・M ・D 4、 在C 语言屮(以16位PC 机为例),存储一个整型、字符型、双精度实型变量 所需的字节数是 ____ C_0A.4、1、4B.4、1、4C.2、1、8D. 2、2、85、 下面的变量说明中 _____ B ________ 是止确的。
A. Char : a, b, c ;B ・ Char a, b, c ; C. Char a ; b ; c ; D. Char a, b, c6、判断char 型变量ch 是否为大写字母的止确表达式是—C ________C. (ch>=/A ,)&&(ch<=T)D. (W<= ch)AND(/Z ,>= ch) 7、已知int x=10,y=20,z=30;以下语句执行后x,y,z 的值是 ____ D _____ if(x>y) z=x; x=y; y=z; 、 选择题 30分二、 填空题或程序填空三、 判断题10分 四、 分析题20分 五、 编程题 20—20分 30分A. /A ,<=ch<=7,B. (ch>=W)&(ch<=T)A. x=10, y=20, z=30B. x=20, y=30, z=20C. x=20, y=30, z=10D. x=20, y=30, z=30int n=0;while(n++<=2);printf( “%d” z n);A. 2B. 3C.4D.死循环9、下面程序的功能是输岀如右图所示形式的金字塔图案。
main(){ int i,j;for(i=l;i<=4;i++){ for(j=l;j<=4-i;j++) printf(“ “);for(j=l; j<= ______ ; j++) printf("〃);printf(〃\n〃);}}在下划线处应填入的是_____ B ____________A. iB. 2*i-lC. 2*i+lD. i+210、下列数组定义方式不止确的语句是—A ________ 。
A. intx[3]={12, 13, 14, 15};B. chary[]={z h,, z e\ T, T, V};C. char x[5];D. chary[][10]二{"Hi,Hello〃};□、c语言规定,数组名做实参时,它和对应形参Z间的数据传递方式为_c A.由实参传给形参,再由形参传回给实参 B.单向值传递C.地址传递D.由用户指定传递方式12、以下正确的函数定义形式是—D_oA. double fun(int x, y);B. double fun(int x; int y);C. double fun(x, y);D. double fun(int x, int y);13、执行下列程序后,其结杲为_A_。
inta[]={2, 4, 6, 8, 10, 12}, *p;p=a;*(p+4)二2;printf( "%d, %d\n〃,*p, *(p+4));A. 2, 2B. 0, 10C. 2, 10D. 0, 214、下面程序的输出结杲是:_D ______ o#define POWER(x) (x*x)main(){int i = 4; printf("%d,,/ POWER( i-2));}分析:4-2*4-2=-6A. -9B. -7C. 5D. -615、有下列结构体,对该结构体变量stu的成员项引用不正确的是_A _______ -struct student{int m;float n;}stu,*p;A. p.stu.nB. p->mC. (*p).mD. stu.n16、一个C程序的执行是从____ B____ oA. main()函数开始,直到最后一个函数结束B. main()函数开始,直到main()函数结束C. 第一个语句开始,直到最后一个语句结束D. 第一个函数开始,直到最后一个函数结束17、下面标识符中止确的是_A ______ -A. numberB. 123abcC. *a#b*cD. P・H・D18、在使用TurboC2.0环境编辑程序时,编译某程序使用的菜单项为—C_。
A. FILEB. COMPILEC. RUND. OPTION19、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为_____ C_OA. char < int < long int = float = doubleB. char = int < long int <= float < doubleC. char < int < long int <= float < doubleD. char = int = long int <= float < double20、下面的变量说明中 ___ B __ 是止确的。
A. char: a, b, c;B. char a, b, c;C. char a; b; c;D. char a, b, c21、C语言程序中出现条件分支语句if-else时,else与_(:_组成配对关系。
A.同一复合语句内部的讦B.在其之前任意的讦C.在其2而未配对的最近的讦D.首行位置相同的if22、已知int x=10,y=20,z=30;以卜-语句执彳亍后x,y,z的值是 __ D ___ 。
if(x>y) z=x; x=y; y=z;A. x=10, y=20, z=30 B・ x=20, y=30, z=20C. x=20, y=30, z=10D. x=20, y=30, z=3023、从循环体内某一层跳出, 继续执行循环外的语句是:C. break语句D.空语句24、判断char型变量ch是否为大写字母的正确表达式是—B—。
A. z A,<=ch<=z Z,B. (ch>=/A,)&&(ch<=z Z,)C. (ch>=W)&(ch<=/Z,)D. (W<= ch)AND(/Z,>= ch)25、下而程序的输出结果是: ____ B_o#define POWER(x) (x*x)main(){int i = 2; printf(H%d H z POWER( i-2));}A. -4B. -6C. 5D. -926、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为一_C_OA、地址传递由实参传给形参,再由形参传冋给实参C、单向值传递D、由用户指定传递方式27、下列数组定义方式不正确的语句是—A—oA. intx[3]={12, 13, 14};B. chary[]={z h,, z e\ T, T, V};C. char x[5];D. chary[][2]={//Hi7Hello,,};28、以下正确的函数定义形式是—A—oA. double fun(int x, int y);B. double fun(int x; int y)C・ double fun(x, y) D・ double fun(int x,y)29、执行下列程序后,其结杲为—D—ointa[]={l, 3, 5, 7, 9, 11};*p;p=a;printf (“%d, %d\n〃, *p, * (p+2));A. 0, 9B. 0, 3C. 1, 7D. 1, 530、char(*p)[5];该语句声明D是一个 A 。
A) 指向含冇5个元素的一维字符型数组的指针变量pB) 指向t度不超过5的字符串的指针变量pC) 有5个元素的指针数组p,每个元素可以指向一个字符串D) 有5个元索的指针数组p,每个元索存放一个字符串31、C语言源程序的某文件中定义的全局变量的作用域为:_C—。
A) 本文件的全部范围B)本函数的全部范围C)从定义该变量的位置开始到本文件结束D)本程序的所有文件的范围32、已知学生记录描述为:struct studentint no;char n ame[20];char s ex;struct{ int year; char mon th[20]; int day;Jbirth;}; struct student s;设变量s 屮的〃生日〃应是“1984年口月11日〃,下列对“生日〃的正确赋值方式是s.birth.month = "11"; s.birth.day = 11; s.birth.m onth = 11; s.birth.day = 11; strcpy(s.birth.month,"11"); s.birth.day = 11; s.birth.month[] = {"11"}; s.birth.day = 11;33.若有二维数组定义语句:int a[3][4];则下面能正确引用元素a[i][j]的为:A) *(a+j*4+i) B) *(a+i*4+j) C) *(a[i]+j)=*(*(a+i)+j) D) *((*a+i)+j)34.在下面的语句中:只有一个在功能上与其他三个语句不等价(其中si 和s2 表示某个C 语句),这个不等价的语句是 D 。
A) if (a) si; else s2;B)讦(!a) s2; else si; C) if(a!=O) si; else s2; D) if(a==O) si; else s2;・以下正确的描述是—A 。
A) 对共用体初始化时,只能对第一个成员进行初始化,每一•瞬吋起作用的成员 是最后一次为其赋值的成员B) 结构体可以比较,但不能将结构体类型作为函数返回值类型C) 函数定义可以嵌套D) 关键字typedef 用于定义一种新的数据类型36.下列的定义中,正确使用字符串初始化的是 C o A) charstr[7] ="FORTRAN"; B) charstr[]= {FQ,RJ ;R,A,N,0}; C) char *str = "FORTRAN";D) char str[]=37. 判断字符串si 与字符串S2相等,应当使用:_D ________ oA) 讦(si = s2) B)讦(strcmp(sl, s2))C) if (!strcmp(sl, s2)) D) if (strcmp(sl, s2) = 0)38. 二维数组a 有m 行n 列,则在汕川]之前的元素个数为B 。