2009-2010年第一学期《C程序设计》试卷A(08级09.11)含答案
- 格式:doc
- 大小:106.00 KB
- 文档页数:11
大学2009-2010学年第一学期考试试卷 AC语言程序设计注意事项:1. 请考生按要求在试卷装订线填写、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3. 不要在试卷上乱写乱画,不要在装订线填写无关的容。
4. 满分100分,考试时间为120分钟。
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,每小题2分,共20分)请将答案填在下面的表格中:1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( D )A.连接、编译B. 连接、运行C. 编译、运行D. 编译、连接2.下列说法正确的是( B )A.一个c语言程序并非总是从主函数位置开始执行的B.一个c语言程序有且只有一个主函数C.函数可以嵌套定义,不可以嵌套调用D.程序函数的位置不可以任意3.下面是合法C语言标识符的是( D )A. 2A_K;B. _M+N;C. –M3;D. AC_2;4.下列格式符中,可以用于控制字符输出的是( D )A. %dB. %fC. %oD. %c5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( C )A. 4;B. 16;C. 30;D. 50;6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( B )A. 10,5B. 15,6C. 15,5D. 10,67.若有定义int x,*p;,则以下正确的赋值表达式是( B )A. p=x;B. p=&x;C. *p=&x;D. *p=*x;8.以下对结构体类型变量的定义中,不正确的是( C )A. typedef struct aaB. #define AA struct aa{ int n; AA { int n;float m; float m;}AA; }stud;AA stud;C. structD. struct{ int n; { int n;float m; float m;}aa; }stud;struct aa stud;9.有如下函数调用语句:func(rec1,rec2+rec3,(rec4+rec5));函数调用语句中,含有的实参个数是( A )A. 3B. 4C. 5D. 以上均不是10.对于以下宏定义:#define SQ(x) x*x#define QQ(x,y) SQ(x)- SQ(y)宏调用QQ(2*3,2+3)执行后值为( C )A.25B.11C.43D.以上均不是二、填空题(每空2分,共20分)1.设int a=5, c=32;float b=2.5;,表达式b+c/a的值为___ 8.5 ___。
全国C程序设计2009年10月高等教育自学考试试题与答案全国2009年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.对C++中主函数描述正确的是( )A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个2.调用声明为int result(int a,int b)的函数时,正确的方法是( )A.result(1,2)B.result(1)C.result(0.1,0.3)D.result(1,2,3)3.用于包含C++标准库iostream的预处理指令是( )A.#defineB.#includeC.#define ‘iostream’D.#include‘iostream’4.无类型标识符是指( )A.voidB.boolC.shortD.long5.从本质上看,引用是被引用变量的( )A.拷贝B.别名C.复制D.克隆6.下面关于数组的初始化正确的是( )A.char str[ ]={'a','b','c'};B.char str[2]={'a','b','c'};C.char str[1][2]={{'a','b'},{'e','d'}};D.char str[ ][ ]={'a','b','c'};7.C++类中定义的成员默认访问属性为( )A.publicB.privateC.protectedD.friend8.决定C++语言中函数的返回值类型的是( )A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型9.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为( )A.9,14B.9,15C.10,14D.10,15浙04737# C++ 程序设计试卷第 1 页(共12 页)10.声明函数为内联函数时所使用的关键字为( )A.constB.inlineC.shortD.signed11.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( )A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);12.函数模板template void Func(T,T)可具有下列哪种实例化形式( )A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的( )A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名14.对类A,复制构造函数的原型是( )A.A::A(const A&);B.A::A(const A *);C.A::A(const A);D.A::A( );15.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是( )A.delete ptr[2];B.delete[ ] ptr;C.delete ptr[ ];D.delete[2] ptr;16.下列哪个编译指令不属于条件编译指令( )A.#ifB.#elseC.#endifD.#error17.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为( )A.未初始化B.等于a.xC.等于0D.随机18.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是( )A.strlen()B.strcap()C.strcat()D.strcmp()19.基类中的public成员,通过public派生,其在派生类中的访问权限为( )A.不可访问B.privateC.protectedD.public20.不同对象调用同名函数,但导致完全不同行为的现象称为( )A.抽象B.封装C.继承D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
08年到10年青岛⼤学c语⾔考试试题及答案学号姓名 b 学院专业级班___2008 春季学期考试时间2008.7 课程名称C 语⾔程序设计A 卷 ?B 卷本试卷共4页,做题前请检查试卷是否缺页。
⼀、判断正误(对的打√,错的打╳,每题1分,共10分)( ) 1. C 语⾔程序中,先定义的函数先执⾏,main 函数最后执⾏ ( ) 2. (int)3.5表达式的值是4 ( ) 3. 逻辑运算符&&和||优先级相同( ) 4. char a=?0?,b=0;变量a 和b 的值相等 ( ) 5. char a=?\0?,b=0; 变量a 和b 的值相等 ( ) 6. i=-3;while(i++);执⾏结束后,i 的值为0( ) 7. int a [10];声明中的10个单元在内存中是连续存放的( ) 8. 函数声明中省略返回值类型时,函数体中可以没有return 语句 ( ) 9. C 语⾔中,⼀个函数可以调⽤其他函数,不能调⽤⾃⼰define ⼆、单项选择(请将答案填在题⽬前的括号内,每题1分,共20分)( ) 1. 下⾯错误的变量名是。
A. A2BB. AHC.ahD.2a ( ) 2. i=0;下⾯表达式值不为0的是A. 5/9*18B. i++C.++iD.i<0&&>0 ( ) 3. 下⾯不属于C 语⾔关键字的是A. intB. switchC.TimeD.break ( ) 4. 有关函数的定义,下⾯错误的是A.函数名必须满⾜标帜符的要求B.函数必须有返回值C.函数可以调⽤⾃⼰D.⼀个函数中可以有多个return 语句 ( ) 5. 下⾯错误的常量是。
A. 23B. 068C.2.3e-5D. 6.7 ( ) 6. 有语句char a[10], *p=”ABCD ”,下⾯正确的语句是A.puts(*p);B.putchar(*p);C.printf(“%s”,*(p+1));D.strcpy(a,*p);( ) 7. 下⾯合法的表达式是A. (a+b)++B.023++C.(a+b)=5D.~7( ) 8. 下⾯是合法字符常量的是。
2009–2010学年第一学期 计算机科学与技术专业《C 程序设计》 试卷(A )卷一、单项选择题。
在每小题列出的四个选项中只有一个选项是符合题目要求的,请选择正确的(每小题3分,共75分)。
1.下列合法的变量名是( D )A )2spB )ey$3C )shortD )T_fe2.下列各表达式中,其值为零的是( B )A) ! (1/2) B) (4,1,3/7) C) 1&&1|| 0 D) 3%11 3.执行下面循环的输出结果是( C ) main( ) { int y=7;for( ; y>0; y- - )if ( y%2==0 ) printf(" %d", --y); printf(" ");}A) 7 4 B) 5 2 C) 5 3 1 D) 7 5 34.下列程序段运行的结果是( A ) #include <stdio.h>main( ){int i=1,s=4; do {s+=i++;if(s%7= =0) continue; else ++i; }while(s<15); printf("%d",i); }A)9 B)7 C)8 D)6河北科技师范学院 装订线5.下面程序的执行结果是( C )main( ){int u=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w); }A)15,11,10 B)13,17,10 C)8,16,10 D)13,11,106.设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是( B ) A)printf(“x=%d\n”,x); B) printf(“x=%ld\n”,x);C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);7.以下程序的输出结果是( A )struct student{int num;char name[10];int age;}stu[3]={ {9801,"Zhang",20},{9802,"Wang",19}, {9803,"Zhao",18}};main( ){struct student *p=stu;printf("%s\n",p->name);}A) Zhang B) Zhao C) Wang D) 188.对于下述程序段,结构体变量stu的成员num的非法引用是( B )。
姓名_________________ 班级______________ 学号_____________装 订 线甘 肃 工 业 职 业 技 术 学 院2008-2009学年度第一学期《C 语言程序设计》试卷(A)一.选择题(每小题2分,共40分)1、下列可以正确表示字符型常量的是( )A “\n ”B “a ”C ‘\t ’D 298 2、已经int i ; float f ;正确的表达式是 ( )A (int f )%iB int( f ) % iC int (f % i) D(int)f% i 3、已知 int a,b ;执行语句a=( b=2*3,b*5) , b+6 ;变量a 的值是( ) A 、36 B 、30 C 、12D 、64、在C 语言中,5种基本数据类型的存储空间长度的排列顺序为( C )A 、 char<int<long int<float<doubleB 、 char=int<long int<float<doubleC 、 char<int<long int=float<doubleD 、 char<int<long int<float<=double 5、下列定义数组的语句中正确的是哪个 ( )A 、int a (10)B 、char str [ ]C 、int n=5D 、#define size 10int a[4][n] charstr1[size],str2[size+2]6、若有说明int a[ ][3]={ 1,2,3,4,5,6,7},则a 数组第一维的大小为( ) A 、2 B 、3 C 、4 D 、不确定7、已知:char s[10] ,*p=s;下列错误的表达式是 ( )A 、s=p+5B 、p=s+5C 、s[2]=p[3]D 、*p=s[0]8、设有30个学生的成绩表,其中学号(int num )、姓名(char name )、成绩(int score ),在下面结构体数组的定义中,不正确的是( D )A 、struct studentB 、struct student { {int num; int num; char name[10]; char name[10]; int score; int score; }stud[30]; };struct student stud[30];C 、structD 、struct stud[30] { {int num; int num; char name[10]; char name[10]; int score; int score; }stud[30]; }; 9、设有如下形式的字符数组定义:satic char str[ ]=”beijing ” ;则执行下列语句后的输出结果为 ( )printf(“%d \ n ”,strlen (strcpy (str,”hello ”))); A 、7 B 、8 C 、5 D 、910、若有以下数组定义:char a[]=”abcde ”,b[]={‘a ’,’b ’,’c ’,’d ’,’e ’};则正确的描述是( B )A 、 a 数组长度和b 数组长度相同B 、 a 数组长度大于b 数组长度C 、 a 数组长度小于b 数组长度D 、 a 数组和b 数组存放相同的内容 11、输出较大字符串的正确语句是( C ) A 、if(strcmp(str1,str2)) printf(“%s ”,str1); B 、if(str1>str2) printf(“%s ”,str1);C 、if(strcmp(str1,str2)>0) printf(“%s ”,str1);D 、if(strcmp(str1)>strcmp(str2)) printf(“%s ”,str1);12、若调用一个函数,且此函数中没有return 语句,则正确的说法是 ( ) A 、该函数没有返回值 B 、返回若干个系统默认值 C 、能返回一个用户所希望的函数值 D 、返回一个不确定的值 13、在一个文件中定义的全局变量的作用域为( D ) A 、本程序的全部范围B 、离定义该变量的位置最近的函数C 、函数内部全部范围D 、定义该变量的位置开始到本文件结束 14、以下程序执行的结果是 ( ) int i=10;main( ) { int j=1;j=func( ); printf(“%d , ”, j); j = func ( ); printf (“%d \n ” , j);} func ( ) { static int k=0; k=k+i; i=i+10 ; return (k);} A 、0,0 B 、10,20 C 、10,30 D 、20,2015、要想使语句printf(“%s ”,str);显示yes!,str 可以定义为( B ) A 、char str=”yes!” B 、char str[5]=”yes!”C 、char str={’y ’,’e ’,’s ’,’!’}D 、#define str “yes!” ;16、下面有关for 循环的正确描述是 ( )A、for循环只能用于循环次数已经确定的情况B、for是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来17、以下不正确的说法是()A、在C语言中允许函数嵌套调用B、函数值类型与返回值类型出现矛盾时,以函数值类型为准C、形参可以是常量、变量和表达式D、C语言规定,实参和形参之间可以是值传递或地址传递18、要使指针变量p指向一维数组a的第三个元素(下标为2),正确的赋值表达式是()A、p=&a 或 p = &a[2]B、p = a +2 或 p = &a[2]C、p=&a + 2 或 p = a[2]D、p = a + 2 或 p = a[2]19、二维数组a[4][5],将其转换成等价的一维数组b[20],问原二维数组中元素a[2][3],在转换成一维数组后再一维数组中的下表应该是b[ ] ( )A、6B、9C、13D、1420、已知:char c [9] = “computer”,*s=c ; int i ;则此列的输出语句中,错误的是()A、printf( “%s” ,*s);B、printf ( “%s” ,c) ;C、printf( “%s” , s);D、for(i=0 ; i<8 ; i++) printf (“%c”,c [i]);二、填空题(每小题2分。
C语言程序设计模拟试卷(09级)1.2.4.5.9.11.12.13.15.19.20.22 24 25 26 28 29 30一、单选题(、共30小题,每小题1分,共30分)1、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )。
A. a < =bB. !((a〈b)&&!c||1)C. 'a'&&'b'D. a||b+c&&b-c2、设有语句char a='\72';则变量a( )。
A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法3、有以下程序:void main( ){ ;;;}程序运行后的结果是( ):A.编译时有警告错误B.编译时有语法错误C.编译没有错误,但是运行时出错D.程序正常运行,但是无任何输出4、x为int型变量,执行以下语句后,x的值为( )。
x=10;x+=x-=x-x;A.10B.20C.30D.405、若有输入语句"scanf("%d,%d,%d" ,&x,&y,&z) ;",欲使x的值为10,y的值为20,z的值为30,则正确的输入应为( ):A. 10 , 20 ,30〈回车〉B. 10 20 30〈回车〉C. 10,20,30〈回车〉D. 10〈回车〉20〈回车〉30〈回车〉6、以下不正确的if语句是( )。
A. if (a<b) t=a ;B. if (a !=b && b) ;C. if (a=b) printf("equal" ) ;D. if (a>b) && (b>c) printf("max=%d",a);7、关于if后面一对圆括号中的表达式,叙述正确的是( )。
《C语言程序设计》试题集及答案目录(按住CTRL键点击超链)单项选择题 (002)阅读程序题 (018)程序填空题 (039)编写程序题 (070)《C语言程序设计》精品课件制作小组2009年4月一、单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。
本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。
在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。
对于掌握不准的问题,应该通过上机实验来检验。
【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l••• _3d one_half My->book Cpp••• oodbs tart$it line# pow••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
2009年上学期《C语⾔程序设计》期末试卷(A)参考答案华东师范⼤学期末试卷(A)2008 —2009学年第⼆学期课程名称:C语⾔程序设计学⽣姓名:学号:______________专业:年级/班级 2007级课程性质:专业必修(请将所有答案写在答题纸上)⼀、填空题(每空1分,共10分)1. 设x和y均为int型变量,且x=2,y=3,则表达式1.0+x/y的值为 1.0。
2. 有如下输⼊语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输⼊数据的正确形式应是a=1,b=3,c=2 。
3. 变量y满⾜以下两条件中的任意⼀个:①能被4整除,但不能被100整除;②能被400整除。
请⽤逻辑表达式表⽰所给条件:___(y%4==0&&y%100!=0)||(y%400==0)_ __4. 在内存中存储“A”要占⽤ 2 个字节,存储…A?要占⽤ 1 个字节。
5. C语⾔编译系统在判断⼀个量是否为“真”时,以0代表“假”,以⾮0代表“真”。
6. 结构化程序设计⽅法规定程序或程序段的结构有三种:顺序结构、选择结构和循环结构。
7. 设有“int x=1;”,则“x>0 ? 2*x+1 : 0”表达式的值是___3_______。
8. C语⾔的表达式与语句的区别在于C语⾔的语句是以分号结束的,⽽表达式是没有分号的。
⼆、选择题(每⼩题1分,共20分)1. 以下关于C程序执⾏叙述正确的是( A)A)程序的执⾏总是从main函数开始,在main函数结束B)程序的执⾏总是从程序的第⼀个函数开始,在main函数结束C)程序的执⾏总是从main函数开始,在程序的最后⼀个函数中结束A)计算机不能直接执⾏⽤C语⾔编写的源程序B)C程序经C编译程序编译后,⽣成后缀为.obj的⽂件是⼀个⼆进制⽂件C)后缀为.obj的⽂件,经连接程序⽣成后缀为.exe的⽂件是⼀个⼆进制⽂件D)后缀为.obj和.exe的⼆进制⽂件都可以直接运⾏3. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A )A)k++ B) k+=1 C) ++k D) k+14. 若⽤数组名作为函数调⽤时的实参,则实际上传递给形参的是(A)。
一、单项选择题(1’×40=40分)1.下面哪种方法不能用来描述算法:【】A)自然语言 B) 流程图 C)数据结构 D)计算机语言编写的程序2.以下叙述中错误的是【】A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令3.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是【】A)大写字母B)连接符C)数字字符D)下划线4.以下不合法的用户标识符是【】A)j2_KEY B)double C)f4d D)_8_5.以下叙述中错误的是【】A)C程序必须由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回给对应的实参6.对于一个正常运行的C程序,以下叙述中正确的是【】A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.以下叙述中正确的是【】A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以"#"开头12C)每个C 程序必须在开头包含预处理命令行:#include<stdio.h>D)C 语言的预处理不能实现宏定义和条件编译的功能8.以下叙述不正确的是 【 】A)分号是C 语言的必要组成部分B)C 程序的注释可以写在语句的后面C)函数是C 程序的基本单位D)主函数的名字不一定用main 表示9.下列说法不正确的是【 】A) 定义变量必须要有数据类型B )任何变量必须先定义后使用C )所有的变量定义时系统并不分配相应的内存,而是在使用的时候才分配D) 常量可以赋值给一个变量10.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式执行后k 值不相同的是【 】A )k++ B)k+=1 C)++k D)k+111.以下叙述中正确的是【 】A )break 语句只能用于switch 语句体中B) continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和switch 语句体内 D) 在循环体内使用break 语句和continue 语句的作用相同 12.在C 语言中,函数返回值的类型最终取决于【 】 A)函数定义时在函数首部所说明的函数类型 B)return 语句中表达式值的类型 C)调用函数时主函数所传递的实参类型 D)函数定义时形参的类型13.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是【】A) c=tolower(c) /* tolower( )是将大写字母转换为小写字母的函数 */B) c=c+32C) c=c-‘A’+‘a’D) c=(‘A’+c)-‘a’14.下面结构体的定义语句中,错误的是:【】A) struct student{ char name[20]; char sex; int age;}; struct student s1;B) struct student{ char name[20]; char sex; int age;} struct student s1;C) struct student{ char name[20]; char sex; int age;} s1;D) struct { char name[20]; char sex; int age;} s1;15.设有定义:char *p; 以下选项中能够使字符型指针p正确指向一个字符串的是:【】A) char str[ ]=”China”; p=str[0]; B) scanf(“%s”, p);C) p=getchar(); D) p=”string”;16.阅读以下程序#include <stdio.h>void main(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d%f”, &case, &printF);printf(“%d %f”, case, printF);}该程序在编译时出现错误,其出错原因是:【】A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值17.表达式3.6-5/2+1.2+5%2的值是【】A)4.3 B)4.8 C)3.3 D)3.818.sacnf(“%s%d,%f”,s,&i,&f),要想s=“Cumtb”, i=30, f=5.0;下面哪种输入方式能使变量得到正确的结果:【】A) cumtb 30 5 B) Cumtb 30 5.0 C) Cumtb 30,5 D) cumtb 30.0 5.03419.以下数组定义中错误的是 【 】A)int x [][3]={0};B)int x [2][3]={{l ,2},{3,4},{5,6}};C)int x [][3]={{l ,2,3},{4,5,6}};D)int x [2][3]={l ,2,3,4,5,6};20.定义数组int a[10],若整型类型变量长度是2个字节,数组a 的首地址是0,则&a[5]的值是:【 】A) 5 B) 10 C) 6 D) 1221.要求通过while 循环不断读入字符,当读入字母N 时结束循环。
以下正确的是【 】A)while((ch=getchar())!=′N′) printf("%c",ch);B)w hile(ch=getchar()!=′N′) printf("%c",ch);C)while(ch=getchar()==′N′) printf("%c",ch);D)while((ch=getchar())==′N′) printf("%c",ch);22.若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2的值是 【 】A) l B) 2 C) 2.0 D) 2.523.若有说明语句:float *p ,a ;则能通过scanf 语句正确给输入项读入数据的程序段是【 】A)*p=&a ; scanf("%f",&p); B)*p=&a ; scanf("%f",p);C)p=&a ; scanf("%f",*p); D)p=&a ; scanf("%f",p);24.若有以下语句,则对a 数组元素的引用不正确的是(0≤i ≤9)【 】 int a [10]={0,1,2,3,4,5,6,7,8,9},*p=a; A )a [p-a ] B )*(&a [i ]) C )p [i ] D )*(*(a+i )) 25.若有语句int *point ,a=4;和 point=&a ;下面均代表地址的一组选项是【 】 A )a ,point ,*&a B )&*a ,&a ,*pointC)*&point,*point,&a D)&a,&*point,point26.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是【】A)地址传递 B)单向值传递C)由实参传形参,再由形参传实参 D)传递方式由用户指定27.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为【】A)int B)float C)double D)不确定28.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是【】A)a>=10 or a<=0 B)a>=0 | a<=10 C)a>=10 && a<=0 D)a>=10‖a<=029.若变量a,i已正确定义,且i已正确赋值,合法的语句是【】A)a= =1; B)++i; C)a=a++=5; D)a=int(i);30.设以下变量均为int类型,表达式的值不为7的是【】A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)31.若变量a是int类型,并执行了语句:a=′A′+1.6;,则正确的叙述是【】A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加 D)a的值是字符′A′的ASCII值加上132.执行语句 for(i=1;i++<4;); 后变量 i 的值是【】A)3 B)4 C)5 D)不定33.若变量c为char类型,能正确判断出c为小写字母的表达式是【】A)′a′<=c<=′z′ B)(c>=′a′)||(c<=′z′)C)(′a′<=c)and(′z′>=c) D)(c>=′a′)&&(c<=′z′)5634.有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d \n”,s);}程序执行后的输出结果是【 】A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中的奇数之和D)自然数1~10中的偶数之和35.若有说明:int a [][3]={1,2,3,4,5,6,7};则a 数组第一维的大小(长度)是 【 】A )2B )3C )4D )无确定值36.以下不正确的定义语句是 【 】A )double x [5]={2.0,4.0,6.0,8.0,10.0};B )int y [5,3]={0,1,3,5,7,9};C )char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};D )char c2[]={′\x10′, ′\xa ′, ′\x8′}; 37.设x=2.5, a=7, y=4.7, 则表达式x+a%3*(int)(x+y)%2/4的值为【 】 A. 0 B. 2.5 C. 3.5 D. 4.5 38.设定义int a, b; scanf(“a=%d b=%d ”, &a, &b); 若要a 获得3,b 获得7,则输入格式为【 】 A. 3 7 B.3,7 C a=3 b=7 D 3(回车符) 7 39.设 a=3, b=4, c=5 则逻辑表达式 !(a+b)+c-1&&b+c/2的值为【 】 A. 1 B. 0 C. 6 D. 7 40.若有定义 int a=1, b=2, c=3; 以下语句中执行效果与其它三个不同的是:【 】 A) if(a>b) c=a, a=b, b=c; B) if(a>b) { c=a, a=b, b=c;} C) if(a>b) c=a; a=b; b=c; D) if(a>b) { c=a; a=b; b=c;}二、写出程序运行结果。