C语言模拟试题一

合集下载

c语言模拟考试试题及答案

c语言模拟考试试题及答案

c语言模拟考试试题及答案C语言模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable#name答案:B2. 下列哪个选项是C语言中的关键字?A. charB. variableC. ifD. string答案:C3. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A5. 下列哪个选项是C语言中的控制结构?A. switch-caseB. if-elseC. for-loopD. All of the above答案:D6. 在C语言中,哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. None of the above答案:D(注:C语言标准库中没有sum()函数)7. 以下哪个选项是C语言中数组的正确声明方式?A. int array[10] = {1, 2, 3};B. int [10] array = {1, 2, 3};C. Both A and BD. None of the above答案:C8. 在C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A9. 下列哪个选项是C语言中正确的函数定义?A. int function(int a, int b) { ... }B. int function(int a; int b) { ... }C. int function(int a, int b) { ... }D. int function(int a, b) { ... }答案:C10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用____关键字可以定义一个函数。

C语模拟考试题1

C语模拟考试题1

C语言模拟考试题1(共100分)一、单项选择题(每小题1分,共20分)1.若已定义x和y为double类型,则表达式x=1, y=x+5/2的值是(C )。

(A) 2 (B) 3 (C) 3.0 (D) 3.52.下列正确的字符串常量是( B )。

(A) abc (B) "abc" (C) 'abc' (D) 'a'3.以下程序运行后的输出结果是(B )。

#include<stdio.h>void main( ){ int p=10;printf("%d\n", (p?p/3:p%3));}(A) 2 (B) 3 (C) 20 (D) 错误信息4.在C语言中,short类型的数据长度为2个字节,则unsinged short类型数据的取值范围是( B )。

(A) 0至255 (B) 0至65535(C) -32768至32767 (D) -256至2555.在下列定义中,不正确的是( D )。

(A) int a[10]={12,23}; (B) char *b[10];(C) char s[20]= "china"; (D) double n=9,aa[n];6.有#define f(x) x+x及int a=3; 则执行printf("%d", f(a)*f(a)); 后的输出值为(B )。

(A) 0 (B) 15 (C) 36 (D) 97.使用fseek函数可以实现的功能是(D )。

(A) 文件的输出和输入(B) 文件的顺序读写(C) 文件的随机读写(D) 改变文件位置指针的当前位置8.以下关于静态局部变量的说法正确的是(D )。

(A) 静态局部变量的作用域为程序运行的全过程(B) 静态局部变量定义在函数体之外(C) 当某一函数被调用时,系统才为它的静态局部变量临时分配存储空间(D) 存储特性定义为static的局部变量是静态局部变量9.表达式sizeof('a'+10.0)的值为( C )。

c模拟考试试题及答案

c模拟考试试题及答案

c模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 以下代码段的输出结果是什么?```cint a = 10;printf("%d", a++);```A. 10B. 11C. 9D. 编译错误答案:A4. 在C语言中,以下哪个语句可以正确地实现数组元素的初始化?A. int arr[5] = {0, 1, 2};B. int arr[5] = {0, 1, 2, 3, 4};C. int arr[5] = {0};D. int arr[5] = {0, 1, 2, 3};答案:C5. 下列哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction(int a, int b);B. int myFunction(int a, int b);C. Both A and BD. None of the above答案:C7. 以下哪个是C语言中的输入函数?A. printf()B. scanf()C. sprintf()D. fprintf()答案:B8. 以下代码段的输出结果是什么?```cfor (int i = 0; i < 5; i++) {printf("%d ", i);}```A. 0 1 2 3 4B. 4 3 2 1 0C. 1 2 3 4 5D. 编译错误答案:A9. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[10] = "Hello";答案:A10. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C二、填空题(每空2分,共20分)1. 在C语言中,一个基本的数据类型可以是______、______或______。

C语言模拟题十套附答案 c语言教程

C语言模拟题十套附答案 c语言教程

第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是(c)A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为(c)A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为(c)A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是(a)A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是(a)A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是(b)A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为(b)A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是(b)A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是(d)A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是(d)void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为(a)A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。

C语言模拟题

C语言模拟题

C语言模拟试题(一)一、选择题1、以下字符中不是转义字符的是( A )。

A、 '\c'B、 '\b'C、 '\\'D、 '\a'2、设 a=12,且 a定义为整型变量。

执行语句a+=a-=a*=a;后 a的值为( A)。

A、 0B、 144C、 132D、 123、已定义 float x=,y=;依照下面的输出结果,正确的输出语句是(C ).y+x=,y-x=A、 printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、 printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC、 printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D、 printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后 ,b的值为 (A ).int s=35;char t='A'; int b;b=((s&&4)&&(t<'a'));A、 1B、 3C、 2D、 05 k是整型 ,则以下程序段的执行结果是:(B )k=-3;if(k<=0) printf("####")else printf("&&&&");A、 ####B、有语法错误,无结果C、 &&&&D、 ####&&&&6设 j和 k都是 int 种类,则下面的 for 循环语句( D)。

for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A、最多执行 9次B、是无量循环C、循环体一次也不执行D、最多执行 10 次7 以下正确的描述是(A ).A、只幸亏循环体内和switch 语句内使用 break 语句B、 continue 语句的作用是停止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用 goto 语句D、在循环体内使用break和 continue 语句的作用相同8 以下能对一维数组a进行正确初始化的语句是(B)。

c语言模拟考试题及答案

c语言模拟考试题及答案

c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。

答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。

答案:continue4. C语言中,使用________关键字可以立即退出循环。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

C语言模拟试题1

C语言模拟试题1
c%c”,&c1,&c2,&c3)输入a└┘b└┘c时,变量c1,c2,c3的值分别为()
A.‘a’,’b’,’c’ C ‘a’,’└┘’,’b’ 4、 putchar 函数可以向终端输出一个()
B.‘a’,’b’,’└┘’ D.‘a’,‘└┘’,’c’
相关有误语法和算法的纠正。
#include<stdio.h>
int div(int m,int n)
int mul(int m,int n)
void main()
{
int a,b,c,mul1,mul2,div1,div2;
print(“请输入三个整数:\n”);
scanf(“%d%d%d”,a,b,c);
c:循环体语句一次也不执行
d:循环体语句执行一次
8、 下面有关 for 循环的正确描述为()。
a:for 循环只能用于循环次数已经确定的情况。
b:for 循环是先执行循环体语句,再判断表达式。
c:在 for 循环中,不能用 break 语句跳出循环体。
d:在 for 循环的循环体语句中,可以包含多条语句,但必须用大括弧括起来。
试题一
一、 选择题(每小题 2 分,共 20 题) 1、下列变量说明中,正确的是()
a、char a b c ;
b、char a; b; c;
c、int x;z;
d、int x,z;
2、设 x=2.5,y=4.7,a=7,算术表达式 x+a%3*(int)(x+y)%2/4 的值为()
a、2.5
b、7
b:int t [10] d:int [10];
14、下面正确的初始化语句是()。
a:a[]=(1,2,2); c:b[5]={1};
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言测试题第一套一.选择题。

1.C言中最简单的数据类型包括()A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型2.C言中,运算对象必须是整型数的运算符是()A)%B)\C)%和\D)**3.为表示关系x≥y≥z,应使用c语言表达式()A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)4.下述对C语言字符数组的描述中错误的是()A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较5.设有如下定义:int x=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是()A)1B)0C)4D)36.以下程序的输出结果是()main(){int x=10,y=10;Printf(“%d%d\n”,x--,--y);}A)1010B)99C)910D)1097.定义如下变量和数组:int i;int 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)159B)147C)357D)3698.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()A)a<>0B)!a C)a=0D)a!=09.阅读程序:#include<stdio.h>main(){int a[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf(“%x\n”,p);printf(“%x\n”,p=9);}该程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是()A)203B)204C)la4D)la610.设有如下函数定义:int f(char*s){char*p=s;while(*p!=’\0’)p++;return(p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为()printf(“%d\n”,f(“goodbye!”));A)3B)6C)8D)011.以下说法中正确的是()A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分12.执行下面的程序后,a的值为()main(){int a,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7B)8C)9D)1013.以下程序段的输出结果是()main(){int x=3;do{printf(“%3d”,x-=2);}while(!(--x));}A)1B)30C)1-2D)死循环14.定义如下变量:int n=10;则下列循环的输出结果是()while(n>7);{n--;printf(“%d\n”,n);}A)10B)9C)10D)9989887877615.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scarf(“%d”,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A)7和5B)6和3C)7和4D)6和416.设有如下定义:char*aa[2]={“abcd”,”ABCD”};则以下说法中正确的是()A)aa数组元素的值分别是“abcd”和“ABCD”B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址17.以下程序的输出结果是()main(){int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d%d%d\n”,k,a,b);}A)104B)103C)003D)00418.设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是()A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)19.下列程序的输出结果是()main(){char*p1,*p2,str[50]=”xyz”;p1=”abcd”;p2=”ABCD”;strcpy(str+2,strcat(p1+2,p2+1));printf(“%s”,str);}A)xyabcAB B)abcABz C)ABabcz D)xycdBCD20.执行下面的程序后,a的值是()#define SQR(X)X*Xmain(){int a=10,k=2,m=1;a=SQR(k+m)/SQR(k+m);printf(“%d\n”,a);}A)10B)7C)9D)021.下列程序执行后输出的结果是()#include<stdio.h>f(int a){int b=0;static c=3;a=c++,b++;return(a);}main(){int a=2,i,k;for(i=0;i<2;i++)k=f(a++);printf(“%d\n”,k);}A)3B)0C)5D)422.下列程序输出的结果是()main(){int a[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf(“%d”,*(p++));printf(“%d\n”,**k);}A)44B)22C)24D)4623.下列程序执行后输出的结果是()main(){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[j]+1;printf(“%d\n”,n[1]);}A)2B)1C)0D)324.字符’0’的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是()#include<stdio.h>main(){union{int i[2];long k;char c[4];}r,*s=&r;s->i[0]=0x39;s->i[1]=0x38;printf(“%c\n”,s->c[0])}A)39B)9C)38D)825.设有以下定义:typedef union{long i;int k[5];char c;}DATE;struct date{int cat;DATE cow;double dog;}too;DATE max;则下列语句的执行结果是()printf(“%d”,sizeof(struct date)+sizeof(max));A)25B)30C)18D)826.执行以下程序后,y的值是()main(){int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d\n”,y);}A)17B)18C)19D)2027.下列程序执行后输出的结果是()int d=1;fun(int p){int d=5;d+=p++;printf(“%d”,d);}main(){int a=3;fun(a);d+=a++;printf(“%d\n”,d);}A)84B)96C)94D)8528.下列程序的输出结果是()main(){char ch[2][5]={“6934”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’&&p[i][j]<=’9’;j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s);}A)6385B)69825C)63825D)69382529.以下程序的输出结果是()fut(int**s,int p[2][3]){**s=p[1][1];}main(){int a[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf(“%d\n”,*p);}A)1B)7C)9D)1130.以下程序的输出结果是()#include”ctype.h”space(char*str){int i,t;char ts[81];for(i=0,t=0;str[i]!=’\0’;i+=2)if(!sspace(*str+i)&&(*(str+i)!=’a’))ts[t++]=toupper(str[i]);ts[t]=’\0’;strcpy(str,ts);}main(){char s[81]={“a b c d e f g”};space(s);puts(s);}A)abcdeg B)bcde C)ABCDE D)BCDE二.填空题。

1.表示文件:10<x<100或x<0的C语言表达式是_______________________。

2.下列程序的输出结果是___________________。

#include<stdio.h>main(){char b[]=”ABCDEFG”;char*chp=&b[7];while(--chp>&b[0])putchar(*chp);putchar(‘\n’);}3.下列的程序的输出结果是_____________。

int ast(int x,int y,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){int a,b,c,d;a=4;b=3;ast(a,b,&c,&d);print(“%d%d\n”,c,d);}4.以下的程序的功能是:从键盘上输出若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

相关文档
最新文档