C++语言程序设计试题试题及答案
C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C语言程序设计基础试题及答案

第一局部C语言根底一、选择题1.以下正确的C语言标识符是〔〕A.%X B.a+b C.a123 D.test!2.已定义int a,b;那么以下不正确的C语句是〔〕A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a;3.假设x、i、j和k都是整型变量,那么执行下面表达式后x的值为〔〕x=(i=4,j=16,k=32)A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符〔〕A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5.下面正确的字符常量是〔〕A.“c〞 B.’\\〞C.‘w’D.〞6.设int a=2,b=0,c;那么执行语句c+=b&&a--后, c的结果为〔〕。
A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是( )A) intB) a_1_2C) ab1exeD) _x8.以下是正确的C语言标识符是( )。
A) #defineB) _123C) %dD) \n9.以下四组字符串中都可以用作C语言程序标识符的一组是( ) 。
A)print B) i\am C) Pxq D) str_l_3d one_half My->book Cpp••• oodbs tart$it line# pow10.下面各选项组中,均是C语言关键字的组是( ) 。
A) auto,enum,includeB) switch,typedef,continueC) signed,union,scanfD) if,struct,type11.以下不属于C语言关键字的是( ) 。
A) defaultB) registerC) enumD) external12.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置13.以下关于C语言的表达错误的选项是( )A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义14.在C语言中,错误的int类型的常数是( ) 。
C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
C语言程序设计试题及答案

C语言程序设计试题及答案IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D )A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是( B )A、abcB、12ACC、sunD、 A3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A )A、-24B、0C、4D、164、下列运算符中优先级最高的是( B )A、<B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是( A )A、%B、/C、%和/D、 +6、以下关于运算符的优先顺序的描述正确的是( C )A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A、 INPUT x、y、z;B、scanf(“%d%d%d”,&x,&y,&z);C、 scanf(“%d%d%d”,x,y,z);D、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:( C )void main ( ){ int m,n;scanf(“%2d%3d”,&m,&n);printf(“m=%d n=%d\n”,m,n);}A、m=23 n=45B、m=234 n=56C、m=23 n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是( A )main( ){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A、 0B、 22C、 12D、1011、C语言中while和do-while循环的主要区别( A )A、do-while的循环体至少执行一次B、while 的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是( C )A、int a[3][]B、float a(3,4)C、double a[3][4]D、float a(3)(4)13、以下程序的输出结果是(C)main( ){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for (i=0;i<3;i++)printf(“%d”,x[i][2-i]);}A、1,5,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是( C )A、int a[10]=(0,0,0,0,0);B、 int a[10]={ };C、int a[10]={0};D、 int a[10]={10 *1};15、以下程序执行后的输出结果是:( A )int fun( int a,int b,int c){ a=456;b=567;c=678;}void main( ){ int x=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n”,z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B )func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是( B )。
C语言程序设计试题及答案

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
C语言程序设计试卷及答案

C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。
C语言程序设计-习题大全(含答案)-C语言试题

C语言程序设计习题及答案C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是( A )。
A)define B)gect C)include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)—0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x〈〈02>〉B>>23。
下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"’ B)'\1011’ C)'\011’ D)'\abc’’\\’ '\’ ’\f’ ’\101’'xf’ ’\A' '\}' 'x1f’4.下面不正确的字符串常量是(A )。
A)'abc’ B)”12’12" C)”0" D)” "5.以下选项中不合法的用户标识符是( A )。
A)abc。
c B)file C)Main D)PRINT6。
C语言提供的合法关键字是( D )。
A) swithB)cherC)Case).Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del—word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真”的表示是用( C )。
A)true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092’;则该语句( B )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
A)1 B)2 C)8 D)411已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+'6’-’3’后,c2中的值为( A )。
c语言程序设计试题及答案

c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。
A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。
A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是( D)。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。
A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。
A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。
#include<stdio.h>#define F(y) 8.19-y#define PRINT(a) printf("%d",(int)(a))void main(void){int x=2;PRINT(x*F(3));}A. 10B. 13C. 11D. 报错11. 以下程序中编译和运行结果均正确的一个是( C )。
A. A. void main(void){union{int n;float x;} comm={1};printf("%d",comm.n);}B. B. void main(void){union{int n;float x;} comm={12.5};printf("%f",comm.x);}C. C. void main(void){union{float x;int n;} comm={12.5}printf("%f",comm.x);}D. D. void main(void){union{int n;float x;} comm=5;printf("%d", comm.n);}12. 设有定义:int a=1,*p=&a; float b=2.0; char c='A'; 以下不合法的运算是( A)。
A. p++;B. a--;C. b++;D. c--;13. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( B )。
main(){int *p,*q,a,b;p=&a;printf("input a:");scanf("%d",*p);...}A. *p表示的是指针变量p的地址B. *p表示的是变量a 的值,而不是变量a的地址C. *p表示的是指针变量p的值D. *p只能用来说明p是一个指针变量14. 若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32);后num的值为( C )。
A. 4B. 16C. 32D. 5215. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( C ),(注: _ 表示空格)int al,a2,char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A. 10A_20_BB. 10_A_20_BC. 10A20BD. 10A20_B16. 若有说明:int a[10]; 则对a数组元素的正确引用是(C )。
A. a[10]B. a[3.5]C. a[5-3]D. a[-1]17. 在C语言中, 一维数组的定义方式为类型说明符数组名;( A)A. [整型常量表达式]B. [表达式]C. [整型常量]D. [整型表达式]18. 以下能对一维数组a进行正确初始化的语句是( C )。
A. in a[10]=(0,0.0,0,0);B. int a[10]={};C. int a[]={0};D. int a[10]={10*1};19. 以下程序段( C )。
x=-1;do{x=x*x;}while(! x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误20. 以下关于do-while循环的不正确描述是( B )。
A. do-while的循环体至少执行一次B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C. 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D. do-while的循环体可以是复合语句二、是非判断题(每题1分,共15分)1. C语言规定,标识符中的字母一般区分大、小写。
T2. 控制台标准输入设备一般是指键盘。
T3. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。
T4. 循环体中continue语句的作用是结束整个循环的执行。
F5. 关系表达式的值是0或1。
T6. 若有说明:int a[3][4]={0},则只有元素a[0][0]可得到初值0。
T7. 字符串作为一维数组存放在内存中。
T8. 字符数组中的一个元素存放一个字符T。
9. 字符数组中的最后一个字符必须是'\0'。
F10. 形参为指针变量时,实参必须是数组名。
F11. 用数组名作函数参数时传递的是数组的值。
F12. 全局变量可以被任何一个函数中的任何一个表达式使用。
T13. 一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
14. 表达式i++与++i在任何场合功能完全相同。
15. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
三、多项选择题(每题1分,共5分)1. 若要求在if 后一对圆跨括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为( ABC ).A.a<>0B.!aC.a=0D.aE.a!=02. 选出所有合法的常量( CEGIJ )。
A.3e22.5B.-e-3C.-.1e-1D.'BASIC'E.'\045'F.0fdG.0xfdaLH.e8I.'\\'J."\""3. 以下关于函数原型说法错误的是: (ADFHI)(1)对变量的定义"和"声明"是一回事,对函数的"定义"和"声明"也是一回事。
(2)在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。
(3)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。
(4)调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。
(5)如果被调函数的定义出现在主调函数之前,可以不必加以声明。
(6)所有的函数之间可以互相调用。
(7)在C语言中,所有函数都是平行的,一个函数不能从属于另一个函数,即不能嵌套定义的。
(8)如果函数没有返回值,在定义时可以省略函数类型。
(9)在C语言中,任何函数的定义都不允许为空。
(10)C语言规定,实参变量对形参变量的数据传递是"值传递"。
4. 请从下面关于指针的叙述中, 选出5个正确的叙述。
(ABDEH)(1)指针即地址。
(2)指针须先赋值后使用。
(3)当指针p指向数组a的首址后,由于p和a都能引用数组元素,所以这里p和a是等价的。
(4)int *p表示定义了一个指向int类型数据的指针变量p。
(5)数组的指针是指数组的起始地址。
(6)若有定义int a[4],*p=a,则p++后p指向数组a所占内存的第二个字节。
(7)使用指针变量作函数参数采取的是"值传递"的方式。
(8)相同类型的指针可以进行减法运算。
(9)指针变量和许多变量一样可以进行四则运算。
(10)指针p指向数组元素a[2],若要其指向a[4],执行p=p*2即可。
5. 以下关于数组的叙述中,5个最确切的说法是: (BEGHI )(1)在声明一个数组变量时必须指定大小。
(2)必须用常量表达式来说明一个数组变量的大小。
(3)在对数组进行初始化时大括号中的数据个数必须和数组的大小相同。
(4)有变量定义int a[3]={0,1,2},b[3];,可以用b=a,使数组b的每个元素和a的每个元素相等。
(5)在C语言中,可以将字符串作为字符数组来处理。
(6)定义了字符数组char c[11];为了给它赋值,可以用c="china";。
(7)如果有char s[15]={"I am a\0 student"};,则strlen(s)的值为6。
(8)C语言中,二维数组中元素排列的顺序是:按行存放。
(9)在C语言中,不能对局部的数组变量进行初始化。
(10)在声明时对数组进行进行初始化必须指定数组大小。
四、程序运行结果题(每题4分,共20分)1. (4分)下面程序的运行结果是( ① ) 。