1、C 语言程序设计理论试题库1语言程序设计理论试题库选择题100例C 语言程序设计理论试题库2选择题1.以下选项中属于 C 语言的数据类型是( )A、复数型 B、逻辑型 C、双精度型 D、集合型2.在 C 语言中,不正确的 int 类型的常数是( )A、32768 B、0 C、037 D、0xAF3.设有说明语句:char a= 72;则变量 a ( )A、包含 1 个字符 B、包含 2 个字符 C、包含 3 个字符 D、说明不合法4.以下所列的 C 语言常量中,错误的是( )A、0xFF B、1.2e0.5 C、2LD、725.以下选项中合法的字符常量是( )A、B B、010 C、-268
2、D、D6.在 C 语言中,合法的长整型常数是( )A、0L B、4962710 C、324562& D、216D7.下列标识符中,合法的标识符是( ) A、-abc1 B、1abc C、_abc1 D、 for8.C 语言程序的基本单位是( )A、语句 B、程序行 C、函数 D、字符9.以下叙述正确的是()A、可以把 define 和 if 定义为用户标识符B、可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符C、可以把 if 定义为用户标识符,但不能把 define 定义不用户标识符D、define 和 if 都不能定义为用户标识符10以下叙述正确的是()A、可以把 d
3、efine 和 if 定义为用户标识符B、可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符C、可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符D、define 和 if 都不能定义为用户标识符11有如下程序long fib(int n) if(n2) return(fib(n-1)+fib(n-2);else return(2);main( )printf(“%dn“,fib(3);该程序的输出结果是( )A、2B、 4C、 6D、8 12在 C 语言中,函数的隐含存储类别是( )A、 autoB、 staticC、 externD、 无存储类别
4、13以下所列的各函数首部中,正确的是( )A、void play(var:Integer,var b:Integer)B、 void play(int a,b)C、 void play(int a,int b)D、 Sub play(a as integer,b as integer)14在 C 程序中,可把整型数以二进制形式存放到文件中的函数是( )C 语言程序设计理论试题库3A、 fprintf 函数 B、 fread 函数 C、fwrite 函数 D、 fputc 函数15若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数 feof(fp)的返回值是( )A、 EOFB、 0C、
5、 非零值 D、 NULL16若要打开 A 盘上的 user 子目录下名为 abc.txt 的文本文件进行读、写操作,下面符合此要求的函数调用是( )A、 fopen(“A:userabc.txt“,“r“)B、fopen(“A:userabc.txt“,“r+“)C、fopen(“A:userabc.txt“,“rb“) D、fopen(“A:userabc.txt“,“w“)17以下程序的输出结果是( )A、 0B、 29C、 31D、 无定值fun(int x,int y,int z) z=x*x+y*y;main() int a=31;fun(5,2,a);printf(“%d“,a);
6、18当调用函数时,实参是一个数组名,则向函数传送的是( )A、数组的长度 B、数组的首地址C、数组每一个元素的地址 D、数组每个元素中的值19以下只有在使用时才为该类型变量分配内存的存储类说明是( )A、auto 和 staticB、auto 和 registerC、register 和 static D、extern 和 register20以下程序的输出结果是( )A、1B、2C、3D、4long fun( int n) long s;if(n= =1 | n= =2)s=2;else s=n-fun(n-1)return s;main() printf(“%ldn“,fun(3); 21
7、以下程序的输出结果是( )main() int num= 0;while(num2233B、10.0,22.0,33.0C、10.022.033.0 D、1022 3329x、y、z 被定义为 int 型变量,若从键盘给 x、y、z 输入数据,正确的输入语句是( )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);30以下程序段的输出结果是( )int a=1234;printf(“%2dn“,a);A、12 B、34 C、1234 D、提示出错、无结果31设
8、 int b=2;表达式(b2)/(b1)的值是( )A、0B、2C、4D、832有如下定义( )struct personchar name9; int age;struct person class10= “Johu“,17,“Paul“,19,“Mary“,18,“Adam“,16;根据上述定义,能输出字母 M 的语句是( )A、 prinft(“%cn“,class3.mane);B、 pfintf(“%cn“,class3.name1);C、 prinft(“%cn“,class2.name1);D、 printf(“%cn“,class2.name0);33设有以下说明语句stru
9、ct ex int x;float y;char z;example;则下面的叙述中不正确的是( )A、struct 是结构体类型的关键字 B、example 是结构体类型名C、x,y,z 都是结构体成员名 D、struct ex 是结构体类型名34以下程序的输出是( )A、10B、11C、51D、60struct st int x;int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&dt0;main() p=aa;printf(“%dn“,+(p-x);C 语言程序设计理论试题库635以下程序
10、的输出结果是( )main( )char x=040;printf(“%on“,xb?(ac?a:c):(b);A、5 B、4 C、6 D、不确定38.设 x,y,z 和 k 都是 int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x 的值( )A、4 B、16 C、32 D、5239当 c 的值不为 0 时,在下列选项中能正确将 c 的值赋给变量 a、b 的是( )A、c=b=a; B、(a=c)|(b=c);C、(a=c)&(b=c); D、a=c=b;40能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是( )A、(a=0|b=0)&(a=0&b=0)&(a0)&
11、(a+b041语句:printf(%d,(a=2)&(b=-2);的输出结果是( )A、无输出 B、结果不确定 C、-1 D、142设有 int x=11; 则表达式 (x+ * 1/3) 的值是( )A、3B、4C、 11D、 1243设 int x=1, y=1; 表达式(!x|y-)的值是( )A、0 B、1 C、 2D、 -144C 语言中运算对象必须是整型的运算符是( )A、%= B、/ C、= D、 =45若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是( )A、1 B、2 C、2.0 D、2.5 46若有以下程序段int c1=1,c2=2,
12、c3;c3=1.0/c2*c1;则执行后,c3 中的值是( )A、0 B、0.5 C、1D、247能正确表示逻辑关系:“a10 或 a0”的 C 语言表达式是( )A、a=10 or a=0|a=10 &a=10a8;y=+i)printf(%d,%d,x-,y);57以下程序的输出结果是( )A、2 0 B、3 1 C、3 2 1 D、2 1 0main( ) int n=4;while(n-)printf(“%d “,-n);58以下程序的输出结果是( )A、#*#*# B、# C、* D、*#*#*main( ) int i;for(i=1;i20) break; while(a=14)
13、;62有如下程序main( ) int i,sum;for(i=1;i6) n-;printf(“%d“,n);该程序段的输出结果是( )A、987B、876C、8765D、987665有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是( )A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行 1 次66以下程序执行后 sum 的值是( )A、 15B、14C、不确定 D、0min() int i,sum;for(i=1;iaB、*pa0 C、*p*a0 D、*p0 *a0main( ) int a10=6,7,2,9,1,10,5,8,4,3,*p=
14、a,i;for(i=0;i10;i+,p+)if(_) *a=*p;printf(“%d“,*a);95以下程序的输出结果是( )A、123456780 B、123 456 780 C、12345678D、147main( ) char ch34=“123“,“456“,“78“, *p3; int i;for(i=0;i3;i+) pi=chi;for(i=0;i3;i+) printf(“%s“,pi);96有以下函数 char fun(char *p) returnp;该函数的返回值是( )A、无确切的值 B、形参 p 中存放的地址值 C、一个临时存储单元的地址 D、形参 p 自身的地址
15、值97以下程序的输出结果是( )A、4 2 1 1 B、0 0 0 8 C、4 6 7 8D、8 8 8 8main( ) char *s=“12134211“; int v4=0,0,0,0,k,i;for(k=0;sk;k+) switch(sk)C 语言程序设计理论试题库15 case 1:i=0;case 2:i=1;case 3:i=2;case 4:i=3;vi+;for(k=0;k4;k+) printf(“%d “,vk);98以下程序的输出结果是( )A、AfghdEFG B、Abfhd C、Afghd D、Afgd#include“string.h“main( ) char
16、 *p1,*p2,str50=“ABCDEFG“;p1=“abcd“; p2=“efgh“;strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf(“%s“,str);99若已定义:int a =0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9, 则对 a 数组元素不正确的引用是( )A、ap-a B、*(&ai)C、pi D、a10100设已有定义:char *st=“how are you“;下列程序段中正确的是( )A、 char a11,*p;strcpy(p=a+1,&st4);B、 char a11;strcpy(+a,st);C、 char a11;strcpy(a,st);D、 char a,*p;strcpy(p=&a1,st+2);C 语言程序设计理论试题库16