C语言程序设计模拟试题1
- 格式:doc
- 大小:85.00 KB
- 文档页数:23
《C语言程序设计》模拟题1一、选择题:1.一个C语言的源程序中__A____。
A)必须有一个主函数 B)可以有多个主函数C)必须有主函数和其他函数 D)可以没有主函数2.执行以下语句的结果为__C_ __。
y=10; x=y++;A)x=10, y=10 B)x=11, y=11C)x=10, y=11 D)x=11, y=103.执行以下程序段后,c3的值是__A____。
int c1=1,c2=2,c3;c3=c1/c2;A) 0 B) 1/2 C) 0.5 D) 14.C语言中字符型(char)数据在内存中的形式存储是__D ___。
A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是__ D____。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 2e32.66.C语言中整数-8在内存中的存储形式是__B ____。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000C) 0000 0000 0000 1000 D) 1111 1111 1111 01117.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是_B ____。
A)6 B)12 C)30 D)368.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是_ A___。
A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的9.以下程序的输出结果是_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,9, B) 1,4,7, C) 3,5,7, D) 3,6,9, 10.已知:double *p[6];它的含义是__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语言程序设计模拟题一、选择题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语言程序设计模拟题(含答案)C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。
错选、多选或未选均无分。
1. 以下正确的C语言自定义标识符是__A____。
A. _1aB. 2a_C. doD. a.122. 在C语言中,错误的常数表示是___D____。
A. 0LB.-0x6aLC. '6'D. 1.234E3.53. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是___B____。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是___C______。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是___C_____A_。
A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是___B______。
A. 12B. 17C.36 D. 418. C语言程序中,整型常量的书写形式不包括___A______。
A. 二进制B. 八进制C. 十进制D. 十六进制9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。
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语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(B)。
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,则程序的运行结果为(C)。
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、下面不能正确进行字符串赋值操作的语句是(B )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的是 (C )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)一、填空题 (1)二、选择题 (2)三、读程序题 (5)四、程序填空题 (6)五、编程题 (7)《C语言程序设计》试题一答案 (10)《C语言程序设计》试题一一、填空题1、C语言中基本的数据类型有:整形、字符型、实型。
2、C语言中普通整型变量的类型说明符为int。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是-112 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是11 ,A[3]= m 。
6、符号”a”和’a’的区别是“a”是字符串常量‘a’是字符常量。
7、所谓“指针”就是一个变量的地址。
“&”运算符的作用是求地址。
“*”运算符的作用是表示定义了一个指针。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是1,3,2二、选择题1、设整型变量a为5,使b不为2的表达式是( C )。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( D )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D.10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(不)。
A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i5、选出下列标识符中不是合法的标识符的是(D)。
A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是(A)。
二级C语言程序设计模拟试题(一)一、单项选择题。
(每小题1分,共20分)1、一个C语言程序是由(B)组成。
A) 一个函数 B) 一个或若干个函数C) 一个过程 D) 一个过程或若干个过程知识点:C语言程序的结构2、C语言用(D)表示逻辑真值。
A) true B) T C) 整型值0 D) 非0整型值知识点:数据类型3、如果程序中有#include "文件名" 则意味着(A)。
A) 将"文件名"所指的那个文件的全部内容,在此命令行出现的这一点上,插入源程序B) 指定标准输入输出C) 宏定义一个函数D)条件编译说明知识点:编译预处理4、为一个结构体变量分配存储空间时,其所占容量为(B)。
A) 结构体中第一个成员所占容量 B) 结构体中所有成员所占容量C) 结构体中所有成员中所占容量最大者 D) 结构体中最后一个成员所占容量知识点:结构体5、如果int *px,*py;则可用{temp=*px;*px=*py;*py=temp}实现*px和*py的交换。
其中temp应该说明为( A )。
A) int temp B) int &temp C) int **temp D) int *temp知识点:指针6、于合法的c语言长整型常量是(A)。
A) 12L B) 6887273 C) 5E12 D) (long)6887273知识点:数据类型7、下列程序输出正确的是(A)。
main(){ int a=-1,b=1,c;c=(a++<=0)&&!((b--<=0));printf(“%d,%d,%d”,a,b,c);}A) 0,0,1 B) -1,1,1 C) 0,0,0 D) 0,1,0知识点:逻辑运算符8、已知E的ASCII码是69,则执行printf(“%c”,’D’-‘8’+’5’);的结果是(B)。
A) 66 B) A C) B D) E知识点:数据类型与自动转换9、段名访问的方式是(A)A) 结构名.位段名 B) 位段名 C) 结构名 D) *&位段名知识点:位段10、有字符数组a,则正确的输入语句是(C)。
C语言程序设计模拟考试试卷及答案(一)一、单项选择题1.一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是( )。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0;C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C ”};则表达式*language[1]>*language[2]比较的是()。
《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语言程序设计模拟题一、选择题(1)能够将高级语言程序转换成目标语言程序的就是__c____。
a)调试程序b)解释程序c)编译程序d)编辑程序(2)__a____是构成c语言程序的基本单位。
a)函数b)过程c)子程序d)子例程(3)可以在c语言中用作用户标识符的就是__b___。
a)voidb)as_b3c)ford)2cdefine_123-abcdowordifcassig(4)若有以下类型说明语句:charw;intx;floaty,z;则表达式w*x+z-y的结果为__d___类型。
a)floatb)charc)intd)double(5)main(){floatx=123.456;printf(\}以上程序输出的结果是___d___。
a)123.4b)123.5c)123.45d)123.46(6)下面语句的输入结果就是___c___。
printf(\a)14b)8c)5d)输入项不合法,并无正常输入(7)以下程序的输入结果就是__b____。
main(){inta=0,b=0,c=0;if(++a>0|++b>0)++c;printf(\}a)a=0,b=0,c=0b)a=1,b=1,c=1c)a=1,b=0,c=1d)a=0,b=1,c=1(8)以下程序的输入结果就是__b____。
main(){inti;for(i=1;i+1;i++){if(i>4){printf(\}printf(\}a)55b)56c)程序错误,没有输出d)循环条件永远为真,死循环(9)下列程序的输出结果是___a___。
#definea100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++iprintf(\}a)2500b)2050c)4d)0(10)下列程序的输出结果是__d____。
main(){inti=3;switch(i){case1:case2:printf(\case3:case4:break;default:printf(\}}a)0b)3c)okd)没任何输入(11)以下程序执行后的输入结果就是__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语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}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.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…A} void fun(int m, int x[]) B} void fun(int s, int h[41])C} void fun(int p, int *s) D} void fun(int n, int a)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。
C语言程序设计课程模拟试卷一、单项选择题.把合适的选项编号填写在括号内.(每小题3分,共42分)1.在C语言中,每条复合语句的结束标记字符为( )。
A.] B.) C.> D.}2. 在C语言程序中,单行或行尾注释语句使用的标记符为()。
A。
*/ B. /* C. // D. **3。
C语言源程序文件的扩展名为().A。
cpp B. exe C。
obj D。
c4。
控制字符'\n’表示( )。
A. 回车B. 响铃 C。
换行 D。
换页5。
运算符优先级最高的是()。
A。
== B。
+ C. && D。
||6. x<=10的相反表达式为()。
A。
x〉=10 B. x>10C。
x!=10 D. x>07. 每次先进行循环条件的判断,然后再执行循环体的语句为( ).A. for和do B。
for和whileC. while和do D。
switch和break8。
假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为( )。
A。
6 B。
2 C. 8 D. 79。
对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。
A. MB. NC. M-1D. N-110. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( )。
A. 25B. 42C. 26 D。
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程序设计》考试试题( 120分钟)(闭卷)一、单项选择题(每小题 2分,共60分)1. C语言规定:在一个源程序中,main函数的位置是 _________ 。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2.下列四组选项中,均不是C语言关键字的选项是 _________ 。
A)define B)getc C)include D)whileIF char scanf gotype printf case pow3.设 int a=3;结果为0的表达式是 _________ 。
A)2%a B)a/=a C)!a D)~a4.执行下面程序片段的结果是 _________ 。
int x=23;do { printf("%d",x--);}while(!x);( A)打印出231 (B)打印出23( C)不打印任何内容(D)陷入死循环5. 设int a=0,b=5,c=2;选择可执行x++的语句是 _________ 。
A)if(a) x++; B)if(a=b) x++;C)if(a =< b) x++; D)if(!(b-c)) x++;6.以下程序的运行结果是 _________ 。
main(){ int k=4,a=3,b=2,c=1;printf("\n%d\n",k<a ? k:c<b ? c:a);A)4 B) 3 C) 2 D)17.以下程序的输出结果是 _________ 。
main( ){ int x=8,y=8; printf("%d%d\n",x--,--y);}A)8 8 B)7 7 C)7 8 D)8 78.C语言中,运算对象必须是整数的运算符是 _________ 。
A)% B)\ C)%和\ D) **9.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 _________ 。
《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语言程序设计模拟试题1C语言程序设计模拟试题.一、填空题.1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。
2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。
3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。
4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6.5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x<z‖y<z。
< p="">6. 若for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式1执行1次,表达式3执行3次。
7.说明语句:int a,*p; 定义了一个整型变量a和一个指针变量p,使指针变量p指向整型变量a的语句是:p=&a,此时*p与变量a等价。
8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e9. C程序是由函数组成的。
一个C程序由一个main()函数和若干个子函数构成。
函数的构成可分为两部分:函数说明(或函数头) 和函数体。
10.标识符是指程序中的符号常量、变量、函数等对象的名称。
在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。
实型常量有小数形式和指数两种表示方法。
12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。
C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。
二、单项选择题)1.一个C语言的执行是从 A(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始, 到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C(A) 必须为字母 (B) 必须为下划线(C) 必须为字母或下划线 (D) 可以是字母,数字和下划线中的任一种字符3. 以下选项中属于C语言的数据类型是 DA)复数型 B)逻辑型 C)集合型 D)双精度型4.以下叙述正确的是 C(A) 在C程序中,main函数必须位于程序的最前面(B) C程序的每行中只能写一条语句(C) C语言本身没有输入输出语句(D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误5. 下列可以正确表示字符型常量的是 BA) "a" B) 't' C) "\n"6.下列形式的常数中,C程序不允许出现的是 A 。
《C 语言程序设计》试卷语言程序设计》试卷一、选择题(60分,每题2分)分)(1)下列叙述中错误的是()。
)下列叙述中错误的是()。
A )计算机不能直接执行用C 语言编写的源程序写的源程序B )C 程序经C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件的文件是一个二进制文件C )后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件的文件是一个二进制文件D )后缀为.obj 和.exe 的二进制文件都可以直接运行可以直接运行(2)按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。
则,不能出现在标识符中的是()。
A )大写字母)大写字母B )连接符)连接符C )数字字符字字符D )下划线)下划线(3)以下叙述中错误的是()。
)以下叙述中错误的是()。
A )C 语言是一种结构化程序设计语言语言是一种结构化程序设计语言B )结构化程序有顺序、分支、循环三种基本结构组成种基本结构组成C )使用三种基本结构构成的程序只能解决简单问题解决简单问题D )结构化程序设计提倡模块化的设计方法(4)对于一个正常运行的C 程序,以下叙述中正确的是()。
述中正确的是()。
A )程序的执行总是从main 函数开始,在main 函数结束函数结束B )程序的执行总是从程序的第一个函数开始,在main 函数结束函数结束C )程序的执行总是从main 函数开始,在程序的最后一个函数中结束在程序的最后一个函数中结束D )程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束数开始,在程序的最后一个函数中结束 (5)若有代数式n x x e + ,(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是语言表达式是( )( )( )。
A) sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))(6) 设有定义:int k=0; ,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。
《C语言程序设计》模拟卷一、选择题1.以下说法中正确的是(C )。
A.C语言程序总是从第一个函数开始执行B.C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分2.下列为字符常量的是(C)。
A.“a”B. ...ab‟C....\n‟D. (084)3.在C语言中,下面字符串能用作变量名的是( D )。
A. a+bB. autoC. 2-andD. a2 4.在C语言中运算对象必须是整型的运算符是(A )。
A. %B. /C. = =D. <=5.若有以下定义:int x=10,y=3,z; 则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为( D )。
A. 1B. 0C. 2D. 36.表达式( A )的值是整数类型。
A.15/2B. 15/2+2.0C.25/5.0D.0.5*107.若double x=2,y;则执行y=x+3/2;后,y的值是( B )。
A. 3.500000B. 3.000000C. 2.000000D. 38.C语言程序的基本单位是(C )。
A.程序行B.语句C.函数D.字符9.设int类型的数据长度为2字节,则int类型数据的取值范围是(B )。
A. 0~255B. -32768~32767C. -256~255D. 0~6553510.语句int (*p)( )的含义是( C )。
A. p是一个指向一维数组的指针变量B.p是指针变量,它指向一个整型数据的指针C.p是一个指向函数的指针,该函数的返回值为整型D. 以上答案都不对11.下面程序的输出结果是(A )。
main(){ int x =10,y =10;printf(“%d,%d\n”,x--,y--);}A. 10,10B. 9,9C. 9,10D. 10,9 12.( A)是C语言的标准函数名。
《程序设计语言(1)》模拟试题一一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题3分,共45分)1.一个C语言程序由________。
A. 一个主程序和若干子程序组成B. 若干函数组成C. 若干过程组成D. 若干子程序组成2. 十进制数-78的八位二进制补码是:________。
A.10100011B.10110010C.10110011D.101101003. 下列哪个是正确的字符数组定义?________A. char s (100);B. char s[ ];C. char s[10, 20];D. chars[ ]="abcd";4.设a=0, b=1,则以下表达式为假的是________。
A. (!a)&& b||a &&(!b)B. !(a && b)||(!a)&&(!b)C. !(a||(!b))&&((!a)||b)D. (a||(!b)&&((!a)||b)5.在C语言中判断字符变量ch的值否为大写字母的正确写法是:________。
A. if (ch>='A'&&ch<='Z')B. if (ch>='A'|| ch<='Z')C. if ('A'<=ch|| ch<='Z')D. if ('A'<=ch<='Z')6.设有 int c,a=35,则执行 c=a>>2;后,c的值是:________。
A.140B.70C.8D.97.以下标识符中不符合C语言变量名规定的是________。
A. FORB. _bitC. scu+ccD. act_1238.在C语言中,字符数据在内存中存放的形式是________。
C语言程序设计模拟试题.一、填空题.1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。
2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。
3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。
4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6.5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x<z‖y<z。
6. 若for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式1执行1次,表达式3执行3次。
7.说明语句:int a,*p; 定义了一个整型变量a和一个指针变量p,使指针变量p指向整型变量a的语句是:p=&a,此时*p与变量a等价。
8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e9. C程序是由函数组成的。
一个C程序由一个main()函数和若干个子函数构成。
函数的构成可分为两部分:函数说明(或函数头) 和函数体。
10.标识符是指程序中的符号常量、变量、函数等对象的名称。
在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。
实型常量有小数形式和指数两种表示方法。
12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。
C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。
二、单项选择题)1.一个C语言的执行是从 A(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始, 到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C(A) 必须为字母 (B) 必须为下划线(C) 必须为字母或下划线 (D) 可以是字母,数字和下划线中的任一种字符3. 以下选项中属于C语言的数据类型是 DA)复数型 B)逻辑型 C)集合型 D)双精度型4.以下叙述正确的是 C(A) 在C程序中,main函数必须位于程序的最前面(B) C程序的每行中只能写一条语句(C) C语言本身没有输入输出语句(D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误5. 下列可以正确表示字符型常量的是 BA) "a" B) 't' C) "\n"6.下列形式的常数中,C程序不允许出现的是 A 。
(A)±123 (B) .45 (C) 25.6e-2(D) 4e37.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 B(A) 7 (B) 8 (C) 6 (D) 28.以下叙述不正确的是D(A)在C程序中,逗号运算符的优先级最低(B)在C程序中,APH和aph是两个不同的变量(C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变(D)在C程序中,无论是整数还是实数,都能被准确无误地表示9.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D(A) float (B) char (C) int (D)double10.已知int i,a;执行语句i=(a=2*3,a*5),a+6; 后,变量i的值是 CA) 6 B) 12 C) 3011.在C语言中,要求运算数必须是整型的运算符是 B(A) / (B) % (C) != (D)++12.若变量已说明为int型,要给a,b,c输入数据,以下正确的输入语句是 DA) scanf("%d%d%d",&a;&b;&c); B) scanf("%d%d%d",a,b,c);C) scanf("%D%D%D",&a,&b,&c) D) scanf("%d%d%d",&a,&b,&c);13.以下关于运算符优先顺序的描述中正确的是 C(A)关系运算符<算术运算符<赋值运算符<逻辑运算符(B)逻辑运算符<关系运算符<算术运算符<赋值运算符(C)赋值运算符<逻辑运算符<关系运算符<算术运算符(D)算术运算符<关系运算符<赋值运算符<逻辑运算符14.设 x=3,y=2,则表达式x*=y+8的值为 C(A) 3 (B) 2 (C) 30 (D)1015.对for(表达式1; ;表达式3)可理解为 BA) for(表达式1;0;表达式3)B) for(表达式1;1;表达式3)C) for(表达式1;表达式1;表达式3)D) for(表达式1;表达式3;表达式316.有数组定义:char array[]="China"; 则数组array 所占用的内存空间为 AA) 6B B) 5B C) 11B D) 10B17. C语言规定,简单变量作实参时,它和对应形参之间的数据传递是 BA) 地址传递 B) 单向值传递C) 由实参传递给形参,再由形参传回实参 D) 由用户指定传递方式18. 如下程序段执行后的输出结果是c#include <stdio.h>void main(){ struct abc{int x;int y;} num[2]={{20,5},{6,7}};printf("%d\n",num[0].x/num[0].y*num[1].y) ; }A) 0 B) 20 C) 28 D) 2419.为表示关系: X≥Y≥Z,应使用的C语言表达式是 A(A) (X>=Y)&&(Y>=Z) (B)(X>=Y)AND(Y>=Z)(C) (X>=Y>=Z) (D)(X>=Y)&(Y>=Z)20.下列程序运行结果是 C#include <stdio.h>void main(){ int tt(int);int i,a[0]={3,2,6,9,10,11,8,13,4,5};for(i=0;i<10;i++)if(tt(a[i]==1) printf("%d ",a[i]);}int tt(int y){ int z=0;if(y%2==1) z=1;return z;}(A)2 6 10 8 4 (B)3 2 6 9 10 11 8 13 4 5(C)3 9 11 13 5 (D) 3 11 13 521.以下不正确的语句为 B(A) if(x>y);(B) if(x=y)&&(x!=0) x+=y;(C) if(x!=y) scanf(“%d”,&x);elsescanf(“%d”,&y);(D) if(x<y) {x++;y++;}22.下面程序段的运行结果是 Aint a=1,b=2,c=2,t;while(a<b<c) {t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);( A) 1,2,0 (B) 2,1,0 (C) 1,2,1(D) 2,1,123.以下能正确计算1*2*3*4*5*6*7*8*9*10的程序段是C(A) do{ i=1;s=1; (B)do{ i=1;s=0;s=s*i;s=s*i;i++;i++;}while(i<=10);} }while(i<=10);(C) i=1;s=1; (D)i=1;s=0;do{ s=s*i;do{ s=s*i;i++;i++;}while(i<=10); }while(i<=10);24.若用数组名作函数调用的实参,传递给形参的是 A(A) 数组的首地址 (B) 数组第一个元素的值(C) 数组中全部元素的值 (D) 数组元素的个数25.以下不正确的说法为 D(A) 在不同函数中可以使用相同名字的变量。
(B) 形式参数是局部变量(C) 在函数内定义的变量只在本函数范围内有效(D) 在函数内的复合语句中定义的变量在本函数范围内有效26. 下列程序的运行结果是: A#include <stdio.h>void main(){ int x=1,a=0,b=0;switch(x){case 0:b++;break;case 1:a++;break;case 2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}(A) a=1,b=0 (B) a=2,b=0(C) a=1,b=1 (D)a=2 ,b=127.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 D(A ) extern (B)register (C)auto(D) static28.C语言规定,函数返回值的类型是由 C(A) return语句中的表达式类型所决定(B) 调用该函数时的主调函数类型所决定(C) 在定义该函数时所指定的函数类型所决定(D) 调用该函数时系统临时决定29.运行下面程序,从键盘输入:1 2 3 4 5 -1<回车>,运行结果:B#include <stdio.h>void main(){ int n,k=0;do{scanf("%d",&n);k+=n;}while(n!=-1);printf("k=%d,n=%d\n",k,n);}(A)k=15,n=-1 (B) k=14,n=-1(C)k=15,n=5 (D)k=14,n=5下列程序的运行结果是:30. 变量的指针,其含义是指该变量的 B(A) 值 (B) 地址 (C) 名 (D)一个标志31. 下列程序的运行结果是:A#include <stdio.h>void main(){ int i=1,j,k;j=i++;printf("j=%d,i=%d\n",j,i);k=++i;printf("k=%d,i=%d\n",k,i);}(A ) j=1,i=2 k=3,i=3 (B) j=2,i=2 k=3,i=3 (C) j=1,i=1 k=3,i=3 (D) j=1,i=2 k=3,i=2三、程序设计题1、求1-100中含5的所有数之和#include <stdio.h>int Is1(int i){while(i){if(i%10==5)return i;i/=10;}return 0;}void main(){int i,sum=0;for(i=1;i<=100;i++)if(Is1(i)){printf("%d,",i);sum+=i;}printf("\n%d\n",sum);}2.编程:1+2+3+…+100#include "stdio.h"void main(){ int n=1,sum=0;while(n<=100){ sum+=n;n++;}printf("Sum=%d\n",sum);}3、编写一个程序以实现以下功能:子函数fun计算:m=1-2+3-4+5-6+7-8+9-10主函数中调用子函数并输出结果。