C语言程序设计复习模拟试题

合集下载

c语言程序设计模拟试题

c语言程序设计模拟试题

c语言程序设计模拟试题C语言程序设计模拟试题一、选择题(每题2分,共20分)1. C语言中,以下哪个不是合法的变量名?- A. 2variable- B. Variable2- C. variable_2- D. Variable2. 在C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World"- B. 'Hello, World'- C. "Hello World"- D. {"Hello", "World"}3. 以下哪个不是C语言中的基本数据类型?- A. int- B. char- C. float- D. string4. 在C语言中,以下哪个不是运算符?- A. +- B. -- C. *- D. to5. 以下哪个语句是正确的C语言循环语句?- A. do { ... } while;- B. while { ... }- C. for { ... }- D. switch { ... }6. 以下哪个函数是C语言标准库中用于字符到整数的转换? - A. atoi()- B. itoa()- C. atof()- D. strtol()7. 在C语言中,以下哪个不是控制语句?- A. if- B. switch- C. continue- D. return8. 在C语言中,以下哪个是正确的函数声明?- A. int function_name();- B. function_name int;- C. int function_name = 0;- D. int function_name = function();9. 在C语言中,以下哪个是正确的数组声明?- A. int array[10];- B. int [10] array;- C. int array = 10;- D. int array[10] = {0};10. 在C语言中,以下哪个是正确的结构体声明?- A. struct Student { int age; char name[50]; };- B. struct { int age; char name[50]; } Student;- C. Student struct { int age; char name[50]; };- D. struct Student int age; char name[50];二、填空题(每空2分,共20分)1. 在C语言中,一个变量的声明必须在______。

C语言程序设计模拟题-必做

C语言程序设计模拟题-必做

C语言程序设计模拟题(1)一、选择题(1)能将高级语言程序转换成目标语言程序的是__ C____。

A)调试程序B)解释程序C)编译程序D)编辑程序(2)__A____是构成C语言程序的基本单位。

A)函数B)过程C)子程序D)子例程(3)可以在C语言中用做用户标识符的是__B___。

A)void B)as_b3 C)for D)2cdefine _123 -abc DoWORD If cas SIG(4)若有以下类型说明语句:char w; int x; float y, z;则表达式w*x+z-y的结果为__D___类型。

A)float B)char C)int D)double(5)main(){ float x=123.456;printf("%-5.2f\n",x);}以上程序输出的结果是___D___。

A)123.4 B)123.5 C)123.45 D)123.46(6)下面语句的输出结果是___C___。

printf("%d\n",strlen("\t\"\065\xff\n"));A)14 B)8 C)5 D)输出项不合法,无正常输出(7)下列程序的输出结果是__B____。

main(){ int a=0,b=0,c=0;if(++a>0| ++b>0) ++c;printf("\na=%d,b=%d,c=%d",a,b,c);}A)a=0,b=0,c=0 B)a=1,b=1,c=1C)a=1,b=0,c=1 D)a=0,b=1,c=1(8)下列程序的输出结果是__B____。

main(){ int i;for(i=1;i+1;i++){ if(i>4) {printf("%d",i++);break;}}printf("%d",i++);}A)55 B)56C)程序错误,没有输出D)循环条件永远为真,死循环(9)下列程序的输出结果是___A___。

C语言程序设计模拟题

C语言程序设计模拟题

C语言程序设计模拟题一、选择题1.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值2.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0 B、0.5 C、1 D、23.有以下程序#include<stdio.h>main(){char *s="ABC";do{printf("%d",*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。

程序运行后的输出结果是()A.5670 B.656667 C.567 D.ABC 4.有以下程序#include <stdio.h>main(){int i=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;} while(i!=0);printf("\n");}程序的运行结果是()A.*7 B.*3*5 C.*5 D.*2*65.设i和x都是int类型,则for循环语句()。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10次B. 最多执行9次C. 是无限循环D. 循环体一次也不执行6.下述for循环语句()。

int i,k;for(i=0,k=-1;k=1;i++,k++) printf("* * * *");A. 判断循环结束的条件非法B. 是无限循环C. 只循环一次D. 一次也不循环7. 引用共用体变量中的字符型变量,以下正确的是()A. a.chB. a.f C b.ch.8.以下共用体定义错误的是()A. B Cunion union data union data{ int i; {int i; {int i;char ch; char ch; char ch;float f; float f; float f;}a,b,c; } }union data a,b,c9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。

《C语言程序设计》模拟试卷2

《C语言程序设计》模拟试卷2

《C 语言程序设计》模拟试卷2考试班级:一、判断题(2’×10=20’)1、C 语言源程序文件的扩展名均为.c 。

( )2、所谓变量,就是在程序运行过程中其值不可以改变的量。

( )3、一个C 语言程序总是从main 函数开始执行。

( )4、C 语言中所有字符串都是以‘\0’结束的。

( )5、在C 语言中do-while 和while 语句均是先判断表达式,再执行循环体语句。

() 6、算术运算符中‘/’的优先级高于‘%’。

( )7、int a[5];该语句表明数组a 中的第五个元素为a[5]。

( ) 8、函数getchar()的作用是:输出一个字符。

( )9、C 语言程序区分大小写。

( )10、C 语言中标识符第一个字符可以由字母,数字和下划线三种字符组成。

()二、单项选择题(2’×15=30’)1、以下说法正确的是( )。

A 、C 语言程序总是从第一个的函数开始执行B 、在C 语言程序中,要调用函数必须在main()函数中定义C 、C 语言程序总是从main()函数开始执行D 、C 语言程序中的main()函数必须放在程序的开始部分2、C 语言中基本数据类型包括( )。

A 、整型、实型、逻辑型B 、整型、实型、字符型C 、整型、字符型、逻辑型D 、字符型、实型、逻辑型3、下列可用于C 语言用户标识符的一组是( )。

A 、1AB 、P_0C 、-abcD 、int4、C 语言的三种基本结构是( )。

A 、顺序结构、逻辑结构、选择结构B 、顺序结构、选择结构、循环结构 系部:班级:学号:姓名:C、逻辑结构、层次结构、网状结构D、层次结构、顺序结构、循环结构5、起换行作用的转义字符是()。

A、’\t’B、’\b’C、’\n’D、’\r’6、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。

A、intB、floatC、double D)不确定7、关于数组元素类型的说法,下列那一项是正确的:()。

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

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.由C语言编写的代码程序()。

A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。

解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

A.大写字母B.中划线C.数字字符D.下划线【答案】B。

解析:C语言的自定义标识符只能有字母、数字、下划线。

3.下列选项中,不能用作标识符的是()。

A._1234_B._1_2C.int_2_D.2_int_【答案】D。

解析:标识符只能以字母或下划线开头。

4.以下选项中合法的用户标识符是()。

A.longB._2TestC.3DmaxD.A.dat【答案】B。

解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。

5.以下不能定义为用户标识符的是()。

A.MainB._0C._intD.sizeof【答案】D。

解析:sizeof为关键字,不能用作用户标识符。

6.下列定义变量的语句错误的是()。

A.int _int;B.double int_;C.char For;D.float US$;【答案】D。

解析:标识符只能有字母、数字、下划线。

7.在C语言中,合法的实型常数是()。

A.5E2.0B.E-3C.2E0D.1.3E【答案】C。

解析:实型常量e的前面要有数,e的后面为整数。

8.在C语言中,合法的实型常数是()。

A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。

解析:实型常量e的前面要有数,e的后面为整数。

9.以下选项中,不能作为合法常量的是()。

A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。

解析:实型常量e的前面要有数,e的后面为整数。

10.以下不合法的数值常量是()。

A.011B.1e1C.8.0E0.5D.0xab【答案】C。

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

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

《C语言程序设计》模拟试卷三一、填空题。

(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.一个C语言文件就是由若干个组成。

3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。

4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。

5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。

p与s就是基类型为int得指针变量。

请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。

二、单项选择题。

(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。

A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。

A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。

A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。

A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。

c语言程序设计模拟试题

c语言程序设计模拟试题

c语言程序设计模拟试题一、单项选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef2. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()3. 若有以下代码段:```cint a = 10;printf("%d", ++a);```输出结果是什么?A. 9B. 10C. 11D. 124. 在C语言中,以下哪个是合法的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};5. 下列关于指针的描述中,哪个是错误的?A. 指针可以指向任何类型的数据。

B. 指针变量的值是它所指向的变量的地址。

C. 指针可以被重新赋值为其他变量的地址。

D. 指针不能被初始化为NULL。

6. 在C语言中,哪个运算符用于计算两个整数的差?A. +=B. -C. *D. /7. 下列哪个函数用于将浮点数转换为字符串?A. sprintf()B. scanf()C. printf()D. strcat()8. 在C语言中,哪个关键字用于声明一个无限循环?A. whileB. forC. do-whileD. switch9. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$210. 在C语言中,哪个函数用于打开一个文件?A. fopen()B. fclose()C. remove()D. rename()二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个函数的关键字是________。

C语言程序设计复习题

C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。

A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。

A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。

A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。

A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。

A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。

A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。

A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。

A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。

A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。

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语言程序设计模拟试卷(一)

参考答案C语言程序设计模拟试卷(一)

5
{ m = n; n = r; r = m % n; } *p = n; *q = mTemp * nTemp / n; } 3. #include <stdio.h> int main() { int a,n,count=1,Sn=0,Tn=0; printf("请输入 a 和 n 的值:\n"); scanf("%d%d",&a,&n); while (count<=n) { Tn=a; Sn=Sn+Tn; a=a*10; count++; } printf("a+aa+aaa+...=%d\n",Sn); }
C 语言程序设计模拟试卷(三)
一. 单项选择题 1-5 ACACB 6-10 BCADD 二.程序阅读题 1. 5# 2. 6,3#1,3# 11-15 ABCCA 16-20 BBCBD
4
3. 0,10#10,10# 4. 18#21#26# 5. 3 三.程序填空题 1. &r[k] r[k]==x break 2. t/=10 t power number=number%power 四.编程题 1. #include<stdio.h> #include<math.h> void main() { int m,n; int myfun(int ); scanf("%d%d",&m,&n); if(myfun(m+n)) printf("yse"); else printf("no"); } int myfun(int x) { int k; for(k=2;k<x;k++) if(x%k==0) return 0; return 1; } 2. #include <stdio.h> void CommonFactorMultiple(int m, int n, int *p, int *q); int main( ) { int m, n, factor, multiple; printf("请输入两个整数:"); scanf("%d%d", &m, &n); CommonFactorMultiple(m, n, &factor, &multiple); printf("%d 和%d 的最大公约数是%d\n", m, n, factor); printf("%d 和%d 的最小公倍数是%d\n", m, n, multiple); return 0; } void CommonFactorMultiple(int m, int n, int *p, int *q) { int mTemp = m, nTemp = n; int r = m % n; while (r != 0)

C语言程序设计模拟1

C语言程序设计模拟1

《C 语言程序设计》样卷一一、选择题()[1]一个C 程序总是从______A )主过程开始执行B )主函数开始执行C )子程序开始执行D )主程序开始执行 [2]若有代数式2lnxcosx/3x,则正确的C 语言表达式是______A)2*ln(x)*cos(x)/3*xB)2*ln(x)*cos(x)/(3*x)C)2*log(x)*cox(x)/3*xD)2*log(x)*cos(x)/(3*x)[3]若有以下类型说明语句:char a; int b; flaot c; ouble d; 则表达式a*b+d-c 的结果类型为______A)float B)char C)int D)double[4]已知字母A 的ASCII 码为十进制数65,变量ch1为字符型,则执行语句 ch1=`A`+`6`-`3`; 后,ch1中的值是______A)D B )68 C )一个不确定的值 D )C[5]putchar 函数可以向终端输出一个______A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值[6]已知a,b,c 为int 型变量,若有输入语句:scanf (“a=%db=%dc=%d ”, &a,&b,&c) ; 为使a 值为1,b 值为3,c 值为2,从键盘输入数据的正确型式应当是______A )123<回车> B) a=1b=3c=2<回车> C) 1<回车> 3<回车> 2<回车> D) a=1<回车> b=3<回车> c=2<回车>[7]判断char 型 变量c1是否为大写字母的正确表达式______A) ‟A‟<=c1<=‟Z‟ B) (c1>=‟A‟)&(c1<=‟Z‟) C) (c1>=‟A‟)&&(c1<=‟Z‟) D) (…a<=c1‟)AND(…Z‟>=c1) [8]下面程序所表示的函数学关系是x=-1; if(a!=0) if(a>0)x=1;else x=0; A)⎪⎩⎪⎨⎧>=<=0)1(a 0)0(a 0)1(a -x B)⎪⎩⎪⎨⎧>=<=0)0(a 0)1(a -0)1(a x C)⎪⎩⎪⎨⎧>=<=0)1(a 0)1(a -0)0(a x D)⎪⎩⎪⎨⎧>=<=0)0(a 0)1(a 0)1(a -x[9]以下关于switch 语句和break 语句的描述中正确的是______A ) 在switch 语句中必须使用break 语句B ) break 语句只能用于switch 语句中C ) break 语句只能用于循环体中D ) 在switch 语句中使用break 语句或continue 语句作用相同[10]以下对一维数组a 的正确说明是______A )char a(10); B) int a[ ]; C) int k=5,a[k]; D) char a[ ]={…a‟,‟b‟,‟c‟};[11]若有说明语句: int a[ ][3]={1,2,3,4,5,6,7,8}; ,则a 数组的行数为______A)3 B)2 C)无确定值 D)1[12]若二维数组y 有m 列,则在y[i][j]前的元素个数为______A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1[13]C 语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______A )float 型 B) int 型 C) long 型 D) double 型[14]以下有关宏替换的叙述不正确的是______A) 宏名不具有类型 B) 宏名必须大写字母表示 C) 宏替换只是字符替换 D) 宏替换不占用运行时间 [15]设已有说明语句:int i=5,*q;,若要建立如图所示的存储结构,以下正确的赋值语句是:_A) q=i; B) *q=i; C)q=&i; D)*q=&i;[16]若有定义:int x[5],*p=x; ,则不能代表数组首地址的是______ A )x B)&x[0] C)&x D)p[17]当定义一上结构体变量时系统分配给它的内存是______A ) 结构中每一个成员所需的内存量B ) 结构中最后一个成员所需的内存量C ) 结构体成员中占内存量最大者所需的容量D ) 结构体中各成员所需内存量的总和[18]若有以下说明和语句,则对结构变量std 中成员id 的引用方式不正确的是______struct work {int id; int name; }std,*p; p=&std;A) std.id B) *p.id C) (*p).id D) p->id[19]若要使指针变量p 指向一个动态开辟的字符型存储单元,则①中应选择填入的是______int *p;p=①malloc(sizeof(char));A) char B) char* C) (*char) D) (char*) [20]下面对typedef 的叙述中不正确的是______A) 用typedef 不能定义变量名 B) 用typedef 可以定义新的数据类型C) 用typedef 只是将已存在的类型用一个新的标识符来代表 D) 使用typedef 有利于程序的通用和移值 二、填空题[1]C 源程序的基本单位是[2]在C 语言中,输入操作可以由库函数 完成,输出操作可以由库函数 完成。

C语言程序设计 模拟试卷

C语言程序设计  模拟试卷

C语言程序设计课程模拟试卷一、单项选择题。

把合适的选项编号填写在括号内。

(每小题3分,共42分)1.在C语言中,每条复合语句的结束标记字符为()。

A.] B.) C.> D.}2. 在C语言程序中,单行或行尾注释语句使用的标记符为()。

A. */B. /*C. //D. **3. C语言源程序文件的扩展名为( )。

A. cppB. exeC. objD. c4. 控制字符'\n'表示()。

A. 回车B. 响铃C. 换行D. 换页5. 运算符优先级最高的是()。

A. ==B. +C. &&D. ||6. x<=10的相反表达式为()。

A. x>=10B. x>10C. x!=10D. x>07. 每次先进行循环条件的判断,然后再执行循环体的语句为()。

A. for和doB. for和whileC. while和doD. switch和break8. 假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为()。

A. 6B. 2C. 8D. 79. 对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。

A. MB. NC. M-1D. N-110. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为()。

A. 25B. 42C. 26D. 4311. 已知“int a[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。

A. 14个字节B. 56个字节C. 28个字节D. 96个字节12. 在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是()。

A. 全局B. 语句C. 文件D. 局部13. 在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。

A. 地址B. 值C. 名称D. 类型14. 在C语言中,为只写操作打开一个文本文件的方式为()。

C语言程序设计复习模拟试题

C语言程序设计复习模拟试题

C语言程序设计复习模拟试题一、选择题1.以下叙述正确的是( C )A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行只能写一条语句C) C语言使用库函数实现输入输出操作D) 注释中的拼写错误会影响编译结果2、以下说法中正确的是(B)A) C语言程序总是从第一个的函数开始执行B) C语言程序总是从main()函数开始执行C)在C语言程序中,要调用的函数必须在main()函数中定义D) C语言程序中的main()函数必须放在程序的开始部分3、下列选项中说法正确的是( A )A) 函数由声明部分和执行部分两部分组成B)语言中main函数一定在程序的开始部分C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4、设有说明:int a; float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int)2.6 值的类型为( A )。

A) double B) char C) float D) int5、 C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的C语言标识符是( D )。

A) ABC B) abc C) a_bc D) void7、下列运算符中优先级最高的是( B )A) < B)+ C)&& D)!=8、以下选项中属于C语言中合法关键字的是( C )A)Float B)abc C)int D)CASE9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( C )x=(i=4,j=16,k=32)A)4 B)16 C)32 D)5210、在C语言中,要求数据必须是整型的运算符是( D )A)/ B)+ + C)!= D) %11、若整型变量x的值为8,则下列表达式中值为1的表达式是( B )A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x12、若w=1,x=2,y=3,z=4,则条件表达式“w > x ? w : y < z ? y : z”的值是( B)A)4 B)3 C)2 D)113、有以下程序,程序运行后的输出结果是。

C语言程序设计模拟试卷及答案

C语言程序设计模拟试卷及答案

计算机科学类专业《C语言程序设计》模拟考试试卷(满分100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1、下列选项中,合法的C语言标识符是()。

A)my_name B)$234 C)my name D)23b2、以下程序的输出结果是()。

void main(){int x,y;float z;x=2; y=10;z=x/y;printf("%f",z);}A)0.200000 B)0.2 C)0.000000 D)03、C语言规定,简单变量做实参时,它与对应形参之间的数据传递是()。

A)地址传递 B)只能把实参的值单向传递给形参C)由用户指定传递方式 D)由实参传给形参,再由形参传回给实参4、有以下程序段int m=0,n=0; char c;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);程序输出结果是:1,X,2。

则从键盘上可能的输入是()。

A)1X2<回车> B)1 X 2<回车>C)1,X,2<回车> D)1<回车>X<回车>2<回车>5、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()。

A)int a,b,c; a=b=c=5; B)int a=5,b=5,c=5;C)int a=5;b=5;c=5; D)int a=5,b=a,c=b;6、设变量n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.07、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。

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

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

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

a)c语句必须以分号结束b)任何一个c程序中有且只有一个主函数c)无机语句在语法上可以被看做一条语句d)c程序中对数据的任何操作方式都可以由运算符同时实现2、以下无法定义为用户标识符的就是()。

a)mainb)_hjc)2ongd)line13、下列符号中用来表示c语言中的回车换行的是()。

a)\\rb)\\nc)\\bd)\\t4、例如存有如下定义:inta=1,则语句printf(“%d,%d”,a,++a);的运转结果为()。

a)1,1b)1,2c)2,2d)2,15、已知ch为字符型变量,下面表达式中正确的是()。

a)ch=’\\xff’b)ch=’\\ff’c)ch=’ff’d)ch=”ff”6、以下能够恰当定义一维数组的就是()。

a)in ta[5]={0,1,2,3,4,5};b)inta[5]=”012345”;c)chara[]=”012345”;d)chara[5]={ 0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是()。

a)charc=65;b)floatf=f+1.1;c)doublex=12.3e3.6;d)intm=n=2.0;8、在继续执行以下程序时输出:1357924,则程序的运转结果为()。

main(){intx,y;scanf(“--”,&x,&y);printf(“-”,x*y);}a)13b)1357c)74d)7419、继续执行以下程序段后输入的结果就是()。

x=9;while(x>7){printf(“*”);x--;}a)****b)***c)**d)*10、设charstr1[10]=“abcde”,str2[10]=“xyz”;则继续执行语句printf(“%d”,strlen(strcpy(str1,str2)));后的输入结果就是()a)9b)8c)5d)311、若用数组名做为函数调用的实参,则传达给形参的就是()a)数组的首地址b)数组第一个元素的值c)数组中全部元素的值d)数组元素的个数12、在c程序中,若未在函数定义时表明函数类型,则函数预设的类型为()a)voidb)doublec)intd)char13、下面不能正确进行字符串赋值操作的语句是()a)chars[5]={\;b)chars[5];s=\c)char*s;s=\;d)char*s=\14、设有说明ints[5]={1,3,5,7,9};int*p=s;则下列表达式中值为3的是()a)++pb)++(*p)c)*(++p)d)*(p+=2)15、下面程序的输入结果就是()intm=13;intfun(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf(“%d\\n”,fun(a,b)/m);}a)1b)2c)3d)10二、推论(每空1分后,共10分后)1、c语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A)10B)11C)12D)24
47、若有定义:int a[10];。则以下表达式中不能代表数组元素a[1]的地址的是(A)
A)&a[0]++B)&a[1]C)&a[0]+1D)a+1
48、变量的指针,其含义是指该变量的(B)
A)值B)地址C)变量名D)一个标志
49、有以下函数定义:
void fun(int n, double x)
9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为(C)
x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
10、在C语言中,要求数据必须是整型的运算符是(D)
A)/ B)+ + C)!= D)%
11、若整型变量x的值为8,则下列表达式中值为1的表达式是(B)
A)x+=x-=x B)x%=x-1 C)x%=x%=3 D)x/=x+x
12、若w=1,x=2,y=3,z=4,则条件表达式“w>x ? w : y < z ? y : z”的值是(B)
A)4 B)3C)2 D)1
13、有以下程序,程序运行后的输出结果是。(D)
main()
{int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);
18、若有以下定义,doublea[10];则a数组元素下标的上、下限分别为(B)
A) 1,10 B) 0,9C) 0,10 D)1,9
19、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是(D)
A)调用可以作为独立的语句存在B)调用可以作为一个函数的实参
C)调用可以出现在表达式中D)调用可以作为一个函数的形参
28、定义数组a和b的语句是:
“char a[ ]=“ABCDEF”; char b[ ]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};”
则以下叙述正确的是(D)
A)a和b数组完全相同B)a与b数组元素个数相同
C)a和b中都存放字符串D)a数组比b数组元素个数多
29、语句“int (*ptr) ( );”的含义是(C)
D)实参可以是任意表达式
25、以下描述正确的是(B)
A)continue语句的作用,是结束整个循环语句的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)多层循环嵌套中不可以使用break语句
26、若有说明语句:“int a[3][4];”,则对数组元素的正确引用格式是(C)
B)必须为下划线
C)必须为字母或下划线
D)可以是字母、数字和下划线中任一种字符
6、以下不正确的C语言标识符是(D)。
A) ABC B) abc C) a_bc D) void
7、下列运算符中优先级最高的是(B)
A) < B)+ C)&& D)!=
8、以下选项中属于C语言中合法关键字的是(C)
A)FloatB)abcC)intD)CASE
int *p; p=a+2;则表达式++*p的值为(D)
A) 20 B)15 C) 16 D) 21
38、设w=1,x=2,y=3,z=4,a=5,b=6,则执行以下语句a,b的值分别为(C)
(a=w>x)&&(b=y>z);
A) 0和0 B) 5和0 C) 0和6 D) 5和6
39、下列语句的输出为(D)
4、设有说明:int a; float b; char c; double d;则表达式1.3*a+2*b*c+d*(int)2.6值的类型为(A)。
A)double B) char C) float D) int
5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C)
A)必须为字母
A)ptr是指向一维数组的指针变量
B)ptr是指向int型数据的指针变量
C)ptr是指向函数的指针,该函数返回一个int型数据
D)ptr是一个函数名,该函数返回值是指向int型数据的指针
30、若有定义:“int *p[4];”,则标识符p是(B)
A)一个指向整型变量的指针
B)一个指针数组名
C)一个指针,它指向一个含有四个整型元素的一维数组
51、若int a, b; scanf("%d%d", &a, &b);不可以用(A)作为输入的分隔符。
A),B)空格C)回车D)TAB键
52、下面关于运算符优先顺序的描述中正确的是:(C)
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
B)逻辑运算符<关系运算符<算术运算符<赋值运算符
C)赋值运算符<逻辑与运算符<关系运算符<算术运算符
A) int a[2][2]={{1},{2}}; B) int a[][2]={1,2,3,4};
C) int a[2][2]={{1},2,3}; D) int a[2][]={{1,2},{3,4}};
22、若有以下定义:int a[5]={10,20,30,40,50},*p=a;则执行++(*p)后(*p)++的值是(B)
int x=-1;
printf(“%d,%u,%o”,x,x,x);
A) –1,-1,-1 B) –1,32767,-177777
C) –1,32768,177777 D) –1,65535,177777
40、下列函数调用语句中的实参个数为(A)
fun((a+b,x,y),fun(x,(x+z)));
C语言程序设计复习模拟试题
一、选择题
1.以下叙述正确的是(C):
A)在C程序中,main函数必须位于程序的最前面
B) C程序的每行只能写一条语句
C) C语言使用库函数实现输入输出操作
D)注释中的拼写错误会影响编译结果
2、以下说法中正确的是(B)
A) C语言程序总是从第一个的函数开始执行
B) C语言程序总是从main()函数开始执行
D)算术运算符<关系运算符<赋值运算符<逻辑与运算符
53、为了判断两个字符串s1和s2是否相等,应当使用( D)。
A)if(s1 == s2)B) if(s1 = s2)
C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)
x=(--m==n++)?--m:++n;
y=m++;
z=n;
A)5B)10C)6D)7
46、执行下列程序段后,i的正确结果是(D)
int i=10;
switch(i)
{ case 9: i+=1;
case 10: i++;
case 11: ++i;
default:i+=i; }
printf( "%d", i );
{……}
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(C)
A)fun(int y,double m);B)k=fun(10,12.5);
C)fun(x,n);D)void fun(n,x);
50、设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。
A) 0B)1C) 2D) 3
C)在C语言程序中,要调用的函数必须在main()函数中定义
D) C语言程序中的main()函数必须放在程序的开始部分
3、下列选项中说法正确的是(A)
A)函数由声明部分和执行部分两部分组成
B)语言中main函数一定在程序的开始部分
C)C语言程序总是从第一个定义的函数开始执行
D)C程序的每行中只能写一条语句
}
A)1 2 3 B)2 34 C)2 2 3 D)2 3 3
14、下面程序的输出结果是(B)
main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0)z=0;
else z=-1+x;
printf(“%d\n”,z);
}
A) 3 B)2 C) 1 D)0
15、执行下列语句后,a的值为(B)
B) do-while语句构成的循环只能用break语句退出
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环
D)用do-while语句构成的循环,在while后的表达式为零时结束循环
36、下列程序的输出结果为(B)
#include“stdio.h”
main()
{ int a,b;
printf(“%s”, c );
A)’a’’b’ B)ab C)ab c D)a b
43、若C程序中出现死循则违背了算法的(C)
A)有效性B)确定性
C)有穷性D)有一个或多个输出
44、设int a=20;则执行表达式:a/=a+a后,a的值是(A)
A)0B)1C)20D)40
45、int x,y,z,m=5,n=5;则执行下面语句后的z值是(D)
A) 10 B)11C) 20 D)21
23、函数的嵌套调用是指(D)
A)直接调用本函数
B)在定义函数时,又定义另一个函数
C)间接调用本函数
相关文档
最新文档