第1题题号:505
以下语句中,循环次数不为10次的语句是()。
A:for(i=1;i<10;i++);
B:i=1;do{i++;}while(i<=10);
C:i=10;while(i>0){--i;}
D:i=1;m:if(i<=10){i++;goto m;}
答案:A
第2题题号:582
若有定义:int a=7;float x=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是()。
A:2.500000
B:2.750000
C:3.500000
D:0.000000
答案:A
第3题题号:676
以下只有在使用时才为该类型变量分配内存的存储类说明是()。A:auto和static
B:auto和register
C:register和static
D:extern和register
答案:B
第4题题号:518
char a[]="This is a program.";输出前5个字符的语句是()。
A:printf("%.5s",a);
B:puts(a);
C:printf("%s",a);
D:a[5*2]=0;puts(a);
答案:A
第5题题号:615
C语言中while 和do-while 循环的主要区别是()。
A:do-while 的循环体至少无条件执行一次
B:while的循环控制条件比do-while的循环控制条件更严格
C:do-while 允许从外部转到循环体内
D:do-while 的循环体不能是复合语句
答案:A
第6题题号:585
以下选项中合法的用户标识符是()。
A:long
B:_2Test
C:3Dmax
D:A.dat
答案:B
第7题题号:533
对结构体类型的变量的成员的访问,无论数据类型如何都可使用
的运算符是()。
A:.
B:->
C:*
D:&
答案:A
第8题题号:690
设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。
A:10101001
B:10101000
C:11111101
D:01010101
答案:D
第9题题号:733
以下叙述中不正确的是()。
A:C语言中的文本文件以ASCⅡ码形式存储数据
B:C语言中对二进制文件的访问速度比文本文件快
C:C语言中,随机读写方式不适用于文本文件
D:C语言中,顺序读写方式不适用于二进制文件
答案:D
第10题题号:736
以下叙述中错误的是()。
A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B:在程序结束时,应当用fclose函数关闭已打开的文件
C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:不可以用FILE定义指向二进制文件的文件指针
答案:D
第11题题号:726
fwrite函数的一般调用形式是()。
A:fwrite(buffer,count,size,fp);
B:fwrite(fp,size,count,buffer);
C:fwrite(fp,count,size,buffer);
D:fwrite(buffer,size,count,fp);
答案:D
第12题题号:495
下列字符序列中,是C语言保留字的是()。
A:sizeof
B:include
C:scanf
D:sqrt
答案:A
第13题题号:678
当调用函数时,实参是一个数组名,则向函数传送的是()。A:数组的长度
B:数组的首地址
C:数组每一个元素的地址
D:数组每个元素中的值
答案:B
第14题题号:644
以下对一维整型数组a的正确说明是()。
A:int a(10);
B:int n=10,a[n];
C:int n; scanf("%d",&n); int a[n];
D:#define SIZE 10 (换行) int a[SIZE];
答案:D
第15题题号:679
在C语言中,形参的缺省存储类是()。
A:auto
B:register
D:extern
答案:A
第16题题号:570
以下叙述不正确的是()。
A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main函数
C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面
答案:D
第17题题号:636
若二维数组a有m列,则在a[i][j]前的元素个数为()。
A:j*m+i
B:i*m+j
C:i*m+j-1
D:i*m+j+1
答案:B
第18题题号:632
以下叙述正确的是()。
A:do-while语句构成的循环不能用其它语句构成的循环来代替.
B:do-while语句构成的循环只能用break语句退出.
C:用do-while语句构成的循环,在while后的表达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表达式为零时结束循环
答案:D
第19题题号:711
下列选项中正确的语句组是()。
A:char s[8]; s={"Beijing"};
B:char *s; s={"Beijing"};
C:char s[8]; s="Beijing";
D:char *s; s="Beijing";
答案:D
第20题题号:729
当顺利执行了文件关闭操作时,fclose函数的返回值是()。
A:-1
C:0
D:1
答案:C
第21题题号:436
设j和k都是int类型,则下面的for循环语句()。
for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);
A:最多执行10次
B:最多执行9次
C:是无限循环
D:循环体一次也不执行
答案:A
第22题题号:701
设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数
是()。
A:9
B:5
C:6
D:7
答案:C
第23题题号:567
以下叙述中正确的是()。
A:C语言比其他语言高级
B:C语言可以不用编译就能被计算机识别执行
C:C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D:C语言出现的最晚,具有其他语言的一切优点
答案:C
第24题题号:645
若有说明int a[3][4];则对a数组元素的正确引用是()。
A:a[2][4]
B:a[1,3]
C:a[1+1][0]
D:a(2)(1)
答案:C
第25题题号:607
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A:-3
B:9
C:-12
D:6
答案:C
第26题题号:529
在C语言中,调用函数除函数名外,还必须有()。
A:函数预说明
B:实际参数
C:( )
D:函数返回值
答案:C
第27题题号:696
设int b=2;表达式(b>>2)/(b>>1)的值是()。
A:0
B:2
C:4
D:8
答案:A
第28题题号:707
若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。A:p1=&m;p2=&p1
B:p1=&m;p2=&n;*p1=*p2;
C:p1=&m;p2=p1;
D:p1=&m;*p2=*p1;
答案:C
第29题题号:551
应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。A:open
B:fopen
C:close
D:fclose
答案:B
第30题题号:692
以下叙述中正确的是()。
A:在程序的一行上可以出现多个有效的预处理命令行
B:使用带参的宏时,参数的类型应与宏定义时的一致
C:宏替换不占用运行时间,只占编译时间
D:在以下定义中C R 是称为"宏名"的标识符#define C R 045
答案:C
第31题题号:716
设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。A:p=1;
B:*q=2;
C:q=p;
D:*p=5;
答案:D
第32题题号:527
全局变量的定义不可能在()。
A:函数内部
B:函数外面
C:文件外面
D:最后一行
答案:A
第33题题号:577
在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。A:由用用户自己定义
B:均为2个字节
C:是任意的
D:由所用机器的机器字长决定
答案:D
第34题题号:680
在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。
A:地址传递
B:单向值传递
C:由实参传给形参,再由形参传回实参
D:传递方式由用户指定
答案:B
第35题题号:492
下列程序段的输出结果为()。
float x=213.82631;
printf("%3d",(int)x);
A:213.82
B:213.83
C:213
D:3.8
答案:C
第36题题号:684
在C语言中,要求运算数必须是整型的运算符是()。A:^
B:%
C:!
D:>
答案:B
第37题题号:618
C语言中用于结构化程序设计的三种基本结构是()。A:顺序结构、选择结构、循环结构
B:if、switch、break
C:for、while、do-while
D:if、for、continue
答案:A
第38题题号:498
下列运算符中是C语言关系运算符的是()。
A:~
B:!
C:&
D:!=
答案:D
第39题题号:606
已定义ch为字符型变量,以下赋值语句中错误的是()。
A:ch='\';
B:ch=62+3;
C:ch=NULL;
D:ch='\xaa';
答案:A
第40题题号:600
若有说明语句:char c='\72';则变量c()。
A:包含1个字符
B:包含2个字符
C:包含3个字符
D:说明不合法,c的值不确定
答案:A
第41题题号:741
在C程序中,可把整型数以二进制形式存放到文件中的函数是()。A:fprintf函数
B:fread函数
C:fwrite函数
D:fputc函数
答案:A
第42题题号:647
以下能对二维数组a进行正确初始化的语句是()。
A:int a[2][]={{1,0,1},{5,2,3}};
B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}};
D:int a[][3]={{1,0,1}{},{1,1}};
答案:B
第43题题号:732
若执行fopen函数时发生错误,则函数的返回值是()。
A:地址值
B:0
C:1
D:EOF
答案:B
第44题题号:661
以下正确的描述是:在C语言程序中()。
A:函数的定义可以嵌套,但函数的调用不可以嵌套
B:函数的定义不可以嵌套,但函数的调用可以嵌套
C:函数的定义和函数的调用均不可以嵌套
D:函数的定义和函数的调用均可以嵌套
答案:B
第45题题号:681
以下运算符中优先级最低的是()。
A:&&
B:&
C:||
D:|
答案:C
第46题题号:553
文件中有一个位置指针,指向当前读写的位置,不可使p所指文件的位置返回到文件的开头的是()。
A:rewind(p);
B:fseek(p,0,SEEK_SET);
C:fseek(p,0,0);
D:fseek(p,-3L,SEEK_CUR);
答案:D
第47题题号:683
在C语言中,要求运算数必须是整型或字符型的运算符是()。
A:&&
B:&
C:!
D:||
答案:B
第48题题号:742
若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp) 的返回值是()。
A:EOF
B:0
C:非零值
D:NULL
答案:C
第49题题号:708
下面判断正确的是()。
A:char *a="china";等价于char *a;*a="china";
B:char str[10]={"china"};等价于char str[10];str[]={"china"}; C:char *s="china";等价于char *s;s="china";
D:char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
答案:C
第50题题号:542
若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存
空间存入整数123的语句为()。
A:scanf("%d",p);
B:scanf("%d",&p);
C:scanf("%d",*p);
D:scanf("%d",**p);
答案:A
第51题题号:528
对于void类型函数,调用时不可作为()。
A:自定义函数体中的语句
B:循环体里的语句
C:if语句的成分语句
D:表达式
答案:D
第52题题号:638
设有数组定义: char array [ ]="China"; 则数组array所占的空间为()。
A:4个字节
B:5个字节
C:6个字节
D:7个字节
答案:C
第53题题号:496
double x;scanf("%lf",&x);不可以赋值给x变量的常量是()。A:123
C:A'
D:"abc"
答案:D
第54题题号:612
语句while(!E);中的表达式!E等价于()。
A:E==0
B:E!=1
C:E!=0
D:E==1
答案:A
第55题题号:572
表达式18/4*sqrt(4.0)/8值的数据类型为()。
A:int
B:float
C:double
D:不确定
答案:C
第56题题号:555
选择结构中的条件与循环结构中循环成立的条件,
在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值()。
A:-1
B:1
C:非零的数
D:0
答案:D
第57题题号:613
下面有关for 循环的正确描述是()。
A:for 循环只能用于循环次数已经确定的情况
B:for 循环是先执行循环循环体语句,后判断表达式
C:在for 循环中,不能用break 语句跳出循环体
D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
第58题题号:697
若x=2,y=3则x&y的结果是()。
A:0
B:2
C:3
D:5
答案:B
第59题题号:514
char a[10];不能将字符串"abc"存储在数组中的是()。A:strcpy(a,"abc");
B:a[0]=0;strcat(a,"abc");
C:a="abc";
D:int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
答案:C
第60题题号:620
下列运算符中优先级最高的是()。
A:<
B:+
C:&&
D:!=
答案:B
第61题题号:558
int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。A:2
B:3
C:4
D:不一定
答案:B
第62题题号:603
以下符合C语言语法的赋值表达式是()。
A:d=9+e+f=d+9
B:d=9+e,f=d+9
C:d=9+e,e++,d+9
D:d=9+e++=d+7
答案:B
第63题题号:721
fseek函数的正确调用形式是()。
A:fseek(文件类型指针,起始点,位移量)
B:fseek(fp,位移量,起始点)
C:fseek(位移量,起始点,fp)
D:fseek(起始点,位移量,文件类型指针)
答案:B
第64题题号:694
以下叙述正确的是()。
A:可以把define和if定义为用户标识符
B:可以把define定义为用户标识符,但不能把if定义为用户标识符C:可以把if定义为用户标识符,但不能把define定义为用户标识符D:define和if都不能定义为用户标识符
答案:B
第65题题号:581
sizeof(float)是()。
A:一个双精度型表达式
B:一个整型表达式
C:一种函数调用
D:一个不合法的表达式
答案:B
第66题题号:594
设int x=1, y=1; 表达式(!x||y--)的值是()。
A:0
B:1
C:2
D:-1
答案:B
第67题题号:501
下列程序段的输出结果为()。
int a=7,b=9,t;
t=a*=a>b?a:b;
printf("%d",t);
A:7
B:9
C:63
D:49
答案:C
第68题题号:597
下列四个选项中,均是C语言关键字的选项是()。
A:auto enum include
B:switch typedef continue
C:signed union scanf
D:if struct type
答案:B
第69题题号:626
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()。
A:A%2==1
B:!(A%2==0)
C:!(A%2)
D:A%2
答案:C
第70题题号:662
C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。A:void
B:int
C:float
D:double
答案:B
第71题题号:611
以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。
A:是无限循环
B:循环次数不定
C:4次
D:3次
答案:C
第72题题号:513
int a[10];合法的数组元素的最小下标值为()。
A:10
B:9
C:1
D:0
答案:D
第73题题号:554
从键盘上输入某字符串时,不可使用的函数是()。
A:getchar()
B:gets()
C:scanf()
D:fread()
答案:A
第74题题号:559
一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。
A:有零个或多个输入
B:有零个或多个输出
C:有穷性
D:可行性
答案:B
第75题题号:548
char *match(char c)是()。
A:函数定义的头部
B:函数预说明
C:函数调用
D:指针变量说明
答案:A
第76题题号:575
若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于
表达式(exp)的是()。
A:(exp==0)
B:(exp!=0)
C:(exp==1)
D:(exp!=1)
答案:B
第77题题号:689
以下叙述中不正确的是()。
A:预处理命令行都必须以#号开始
B:在程序中凡是以#号开始的语句行都是预处理命令行
C:C程序在执行过程中对预处理命令行进行处理
D:以下是正确的宏定义#define IBM_PC
答案:C
第78题题号:723
函数调用语句:fseek(fp,-20L,2);的含义是()。
A:将文件位置指针移到距离文件头20个字节处
B:将文件位置指针从当前位置向后移动20个字节
C:将文件位置指针从文件末尾处退后20个字节
D:将文件位置指针移到离当前位置20个字节处
答案:C
第79题题号:506
以下程序段的输出结果为()。
for(i=4;i>1;i--)
for(j=1;j
putchar('#');
A:无
B:######
C:#
D:###
答案:B
第80题题号:653
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。A:char s[10]="abcdefg";
B:char t[]="abcdefg",*s=t;
C:char s[10];s="abcdefg";
D:char s[10];strcpy(s,"abcdefg");
答案:C
第81题题号:717
fscanf函数的正确调用形式是()。
A:fscanf(fp,格式字符串,输出表列);
B:fscanf(格式字符串,输出表列,fp);
C:fscanf(格式字符串,文件指针,输出表列);
D:fscanf(文件指针,格式字符串,输入表列);
答案:D
第82题题号:712
若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。
A:p=q;
B:*p=*q;
C:n=*q;
D:p=n;
答案:D
第83题题号:535
使用共用体变量,不可以()。
A:节省存储空间
B:简化程序设计
C:进行动态管理
D:同时访问所有成员
答案:D
第84题题号:550
不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上()。
A:内存
B:缓冲区
C:文件
D:寄存器
答案:C
第85题题号:566
一个C程序的执行是从()。
A:本程序的main函数开始,到main函数结束
B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C:本程序的main函数开始,到本程序文件的最后一个函数结束
D:本程序文件的第一个函数开始,到本程序main函数结束
答案:A
第86题题号:525
C语言中不可以嵌套的是()。
A:函数调用
B:函数定义
C:循环语句
D:选择语句
答案:B
第87题题号:651
以下定义语句中,错误的是()。
A:int a[]={1,2};
B:char *a[3];
C:char s[10]="test";
D:int n=5,a[n];
答案:D
第88题题号:725
在执行fopen 函数时,ferror 函数的初值是()。
A:TRUE
B:-1
C:1
D:0
答案:D
第89题题号:685
在位运算中,操作数每左移一位,其结果相当于()。
A:操作数乘以2
B:操作数除以2
C:操作数除以4
D:操作数乘以4
答案:A
第90题题号:610
以下选项中,与k=n++完全等价的表达式是()。
A:k=n,n=n+1
B:n=n+1,k=n
C:k=++n
D:k+=n+1
答案:A
第91题题号:520
以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
A:abc
B:ab
C:2
D:3
答案:D
第92题题号:532
结构体类型的定义允许嵌套是指()。
A:成员是已经或正在定义的结构体型
B:成员可以重名
C:结构体型可以派生
D:定义多个结构体型
答案:A
第93题题号:635
若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。A:2
B:3
C:4
D:无确定值
答案:B
第94题题号:517
若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是()。
C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i 趣味逻辑_思维训练题(答案) 第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水? 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑) 6.在9个点上画10条直线,要求每条直线上至少有三个点? 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的? 8.怎么样种植4棵树木,使其中任意两棵树的距离相等? 第二组 1.为什么下水道的盖子是圆的? 2.中国有多少辆汽车? 3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么? 5.多少个加油站才能满足中国的所有汽车? 6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠 倒上下? 7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 8.你怎样将Excel的用法解释给你的奶奶听? 9.你怎样重新改进和设计一个ATM银行自动取款机? 10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始? 11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁? 12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么? 13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么? 第三组 1.你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费? 2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离? 3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。只称量一次,如何判断哪个罐子的药被污染了? 4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系? 5.人民币为什么只有1、2、5、10的面值? 6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐 1.以下运算符中优先级最低的是(C)。 A、&& B、| C、|| D、& 2.不合法的if语句是:(D) A、if(表达式) 语句1 else 语句2 B、if(表达式) 语句 C、if(表达式1)语句1 else if(表达式2)语句2 else 语句3。 D、if 关系表达式语句1 else 语句2 3.以下不是无限循环的语句为(D)。 A、while(1){x++;} B、for(;;x++=i); C、for(i=10;;i--) sum+=i; D、for(y=0,x=1;x>++y;x=i++) i=x; 4.调用函数时,基本类型变量做函数参数, 实参和对应的形参(B). A、不占用存储单元 B、各自占用独立的存储单元 C、同名时才能共用存储单元 D、共占用一个存储单元 5.已知有宏定义#define F(a) a*(a+2),则F(4+3)的值为(D). A、24 B、15 C、63 D、31 a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(D) A、for(i=1;i<11;i++)a[i]=i; B、for(i=1;i<11;i++)a[0]=1; C、for(i=1;i<11;i++)a[i+1]=i; D、for(i=1;i<11;i++)a[i-1]=i; 7.若有说明:int a[3][4];则数组a中各元素(A)。 A 、不能得到确定的初值B、可在程序的编译阶段得到初值0 C、可在程序的运行阶段得到初值0 D、可在程序的编译或运行阶段得到初值0 8. 已定义float a; int i;选择正确的输入语句(C). A、scanf("%6.2f%3d", &a,&i); B、scanf("%f%s", &a,&i); C、scanf("%6f%3d",&a,&i); D、scanf("%f%d", a,i); 9 执行下面程序段后,k的值是:(B) int k=2; switch(k+1) { case 3:k+=1; case 4:k--;break; case 5:k*=3; case 6:++k;} A、10 B、2 C、28 b D、27 11.以下程序段中,能够正确地执行循环的是(B)。 A、int s=6; m:if(s<100) exit(0); else s-=2; goto m: B、int s=6; do s-=2; while(s); C、for(i=1;i>10;i++) D、static int a; while(a) 12.运行结果是" 11 12"的程序段是:请在A处填写正确内容(B)。 for(i=1;i<=2;i++) ___A___ A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break; B、{for(j=1;j<=2;j++) printf("%3d",10*i+j);break;} C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue; D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;} 13.设有以下定义: int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=a; 则数值为6的表达式是(D). A、p+5 B、*p+6 C、*(p+6) D、*p+=5 14. 语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(B)(说明:'\b'是退格符)。 A、a\bre\'hi\'y\\\bou B、re'hi'you C、a\bre\'hi\'y\bou D、abre'hi'y\bou 14.执行下面程序段后,i的值是(A). C语言题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; 小学一年级数学思维专题训练大全(100 题) 1. 哥哥 4个苹果,姐姐有3个苹果,弟弟有8个苹果,哥哥给弟弟1个后,弟弟吃了3 个,这时谁的苹果多? 2.小明今年6岁,小强今年4岁,2年后,小明比小强大几岁? 3.同学们排队做操,小明前面有4个人,后面有4个人,这一队一共有多少人? 4.有一本书,小华第一天看了2页,以后每一天都比前一天多看2页,第4天看了多少 页? 5.同学们排队做操,从前面数,小明排第 4 ,从后面数,小明排第 5 ,这一队一共有多少 人? 6.有 8个皮球,如果男生每人发一个,就多2个,如果女生每人发一个,就少2个,男生有多少人,女生有多少人? 7.老师给9个三好生每人发一朵花,还多出1朵红花,老师共有多少朵红花? 8.有 5个同学投沙包,老师如果发给每人2个沙包就差1个,老师共有多少个沙包? 9.刚刚有9本书,爸爸又给他买了5本,小明借去2本,刚刚还有几本书? 10.一队小学生,李平前面有8个学生比他高竺嬗?个学生比他矮,这队小学生共有多少人? 11.小林吃了8块饼干后,小林现在有4块饼干,小林原来有多少块饼干? 12.哥哥送给弟弟5支铅笔后,还剩6支,哥哥原来有几支铅笔? 13.第二中队有8名男同学,女同学的人数跟男同学同样多,第二中队共有多少名同学? 14.大华和小刚每人有10张画片,大华给小刚2张后,小刚比大华多几张? 15.猫妈妈给小白5条鱼,给小花4条鱼,小白和小花共吃了6条,它们还有几条? 16.同学们到体育馆借球,一班借了9只,二班借了6只。体育馆的球共减少了几只? 17.明明从布袋里拿出5个白皮球和5个花皮球后,白皮球剩下10个,花皮球剩下5个。 布袋里原来有多少个白皮球,多少个花皮球? 18.芳芳做了14朵花,晶晶做了8朵花,芳芳给晶晶几朵花,两人的花就一样多? 19.妈妈买回一些鸭蛋和12个鸡蛋,吃了8个鸡蛋后,剩下的鸡蛋和鸭蛋同样多,问妈 妈一共买回几个蛋? 20.草地上有10只羊,跑走了3只白山羊,又来了7只黑山羊,现在共有几只羊? 21.冬冬有5支铅笔,南南有9支铅笔,冬冬再买几支就和南南的一样多? 22.小平家距学校2千米,一次他上学走了1千米,想起忘带铅笔盒,又回家去取。这次 他到学校共走了多少千米? 23.马戏团有1只老虎,3只猴子,黑熊和老虎一样多,问马戏团有几只动物? 24.春天来了,小明、小冬和小强到郊外捉蝴蝶,小明捉了3只,小冬捉了5只,他们一 共捉了 12只,小强捉了几只? 第1章 1.以下叙述不正确的是()。 A、C程序的基本组成单位是函数 B、在C程序中,注释说明只能位于一条语句的后面 C、一个C源程序必须包含一个main函数 D、一个C源程序可由一个或多个函数组成 2.C语言的注释定界符是()。 A、\* *\ B、{ } C、[ ] D、/* */ 3.C语言规定,在一个源程序中,main函数的位置()。 A、必须在最开始 B、必须在系统调用的库函数的后面 C、必须在最后 D、可以任意 4.一个C程序的执行是从()。 A、本程序文件的第一个函数开始,到本程序main函数结束 B、本程序的main函数开始,到main函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 5.以下叙述中正确的是()。 A、C程序中注释部分可以出现在程序中任意合适的地方 B、分号是C语句之间的分隔符,不是语句的一部分 C、花括号“{“和”}”只能作为函数体的定界符 D、构成C程序的基本单位是函数,所有函数名都可以由用户命名 6.以下叙述正确的是()。 A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B、C语言本身没有输入输出语句 C、在C程序中,main函数必须位于程序的最前面 D、C程序的每行中只能写一条语句 7.C语言源程序的基本单位是()。 A、子程序 B、过程 C、函数 D、标识符 8.下列标识符中,不合法的C语言用户自定义标识符是()。 A、printf B、sin C、enum D、_ 9.下列四个选项中,均是C语言关键字的选项是()。 A、if struct type B、switch typedef continue C、signed union scanf D、auto enum include 10.以下叙述中错误的是() A、用户所定义的标识符应尽量做到"见名知意" B、用户所定义的标识符允许使用关键字 C、用户定义的标识符中,大、小写字母代表不同标识 D、用户所定义的标识符必须以字母或下划线开头 11.下列字符序列中,可用作C标识符的一组字符序列是()。 A、#md,&12x,month,student_n! B、D56,r_1_2,name,_st_1 C、S.b,sum,average,_above D、class,day,lotus_1,2day 12.下面四个选项中,均是不合法的用户标识符的选项是()。 A、_123 temp int B、A P_0 do C、b-a goto int D、float la0 _A 13.下列四组选项中,均不是C语言关键字的选项是()。 A、file IF type B、include scanf case C语言题库 1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(D)。 A、"rb+" B、"ab++" C、"ab" D、"wb+" 2.设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是(C)。 A、p=(struct sk*) data.a; B、*p=data.a; C、p=&data.a; D、p=&data,a; 3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用 的运算符是(B)。 A、& B、. C、* D、-> 4.下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 5.设有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(D ). A、不确定的值 B、'o'的地址 C、'o' D、'\0' 6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。 A、&t[1] B、t[3] C、&t[3][2] D、t[2] 7.下列说法中正确的是(B ). A、函数调用不占运行时间,只占编译时间. B、宏替换不占运行时间,只占编译时间. C、有参数的宏定义,就是函数. D、在定义宏时,宏名与带参数的括弧之间可以加空格. 8.以下叙述中正确的是(C)。 训练逻辑思维能力题目集锦带答案 训练逻辑思维能力题目1.三针什么时候重合 在一天(包括白天和黑夜)当中,钟表的三根针能够重合吗什么时候重合 训练逻辑思维能力题目2.概率是多少 在一次贸易会上,有5个人进入贸易厅都要把自己随身携带的公文包交给保安验证,经过验证后保安再把公文包还给他们。由于保安的疏忽四个人离开时发现每个人拿的都不是自己的公文包。想一下,这种情况发生的概率是多少如果是n个人呢(n1) 训练逻辑思维能力题目3.卖丝巾。 一家饰品店在关门之前处理货物,一条丝巾以20元的价钱卖不出去,老板决定降价到8元一条;结果没人要,无奈,老板只好再降价,降到3.2元一条,依然卖不出去,无奈,老板只好把价格降到1.28元一条。老板心想,如果这次再卖不出去,就要按成本价销售了。那么这条丝巾的成本价是多少呢训练逻辑思维能力题目4.买苹果。 有5个人去买苹果,他们买的苹果数分别是A,B,C,D,E,已知A是B的3倍,C的4倍,D的5倍,E的6倍,则A+B+C+D+E最小为多少 训练逻辑思维能力题目5.逃跑的车。 某城市发生了一起车祸,汽车司机撞人后逃跑了。已知该城市只有两种颜色的车,黑色25%,灰色75%。车祸发生时有一个人目睹了车祸的过程,他指证是灰车,但是根据专家分析,当时那种条件能看正确的可能性是90%。那么,逃跑的车是黑车的概率到底是多少 训练逻辑思维能力题目答案: 1. 设三针完全重合的时间是a+b小时,此时的时针,分针,秒针的角度(与12点方向的顺时针夹角)相等。先考虑时针与分针重合的情况:时针1小时走过30度,分针1分钟走过6度,可列出方程(a+b)30=b*60*6,330b=30ab=a/11(a=0,1,2,3,.10)当b=1,相当于12点,这时是时针开始走第2圈了。将b小时换成分钟,是60a/11分, a=0时,0时0分0秒,重合; a=1时,60/11分=5分300/11秒,不重合; a=2时,120/11分=10分600/11秒,不重合; a=3时,80/11分=16分240/11秒,不重合; a=4时,240/11分=21分540/11秒,不重合; 三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确 计算机程序设计基础(C语言) 单项选择练习题 一、基本概念 1. C语言程序是由构成的。 A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数 2. 是构成C语言程序的基本单位。 A)函数 B)过程 C)子程序 D)子例程 3.C语言可执行程序从开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5. 以下说法中正确的是。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main( )函数中定义 C)C语言程序总是从main( )函数开始执行 D)C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是。 A)主函数可以分为两个部分:主函数说明部分和主函数体。 B)主函数可以调用任何非主函数的其它函数。 C)任何非主函数可以调用其它任何非主函数。 D)程序可以从任何非主函数开始执行。 7.下列关于C语言的说法错误的是。 A) C程序的工作过程是编辑、编译、连接、运行 B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关 C) C程序的三种基本结构是顺序、选择、循环 D) 一个C程序总是从main函数开始执行的 8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行? A) 编辑?编译 B )编辑?连接 C) 编译?连接 D) 编辑?改错 9.下列说法中正确的是。 A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。 B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。 C)由于C程序是高级语言程序,因此输入后即可执行。 D)由于C程序是高级语言程序,因此它是由命令组成的。 单项选择题(本大题共20小题,每小题1分,共20分) 1.C++源程序文件扩展名为(A) A..cpp B..h C..1ib D..obj 5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.create C.delete D.realse 6.从本质上看,引用是被引用变量的(B) A.拷贝 B.别名 C.复制 D.克隆 7.在函数调用时,如某一默认参数要指明一个特定值,则有(B) A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值 C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值 8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C) A.int m=max(22,max(59,70));B.int m=max(max(22,59),70); C.int m=max(22,59,70);D.int m=max(59,max(22,70)); 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B) A.int m=min(min(15,26),min(15,47)); B.int m=min(15,26,47); C.int m=min(15,min(47,26)); D.int m=min(min(47,26),16); 13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15; 在执行语句min(a,b)--;之后,a,b值分别为(B) A.9,14 B.9,15 C.10,14 D.10,15 16.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C) A.10,10 B.10,15 C.15,10 D.15,15 附最佳答案: 初级题: 1.这个人只要站在A与B任何一条路上,然后,对着其中的一个人问:“如果我问他(甲、乙中的另外一个人)这条路通不通向京城,他会怎么回答?” 如果甲与乙两个人都摇头的话,就往这条路向前走去,如果都点头,就往另一外一条走去。 2.小张是商人,小赵是大学生,小王是士兵。假设小赵是士兵,那么就与题目中“小赵的年龄比士兵的大”这一条件矛盾了,因此,小赵不是士兵;假设小张是大学生,那就与题目中“大学生的年龄比 小张小”矛盾了,因此,小张不是大学生; 假设小王是大学生,那么,就与题目中“小 王的年龄和大学生的年龄不一样”这一条 件矛盾了,因此,小王也不是大学生。所 以,小赵是大学生。由条件小赵的年龄比 士兵的大,大学生的年龄比小张小得出小 王是士兵,小张是商人。 3.假设丙做对了,那么甲、乙都做错 了,这样,甲说的是正确的,乙、丙都说 错了,符合条件,因此,丙做对了。 4.假设小丽的鞋子是黑色的,那么三 种看法都是正确的,不符合题意;假设是 黄色的,前两种看法是正确的,第三种看 法是错误的;假设是红色的,那么三句话 都是错误的。因此,小丽的裙子是黄色的。 5.是老三偷吃了水果和小食品,只有 老四说了实话。用假设法分别假设老大、 老二、老三、老四都说了实话,看是否与 题意矛盾,就可以得出答案。 6.丙说谎,甲和丙都拿了一部分。假 设甲说谎的话,那么乙也说谎,与题意不 符;假设乙说谎,那么甲也说谎,与题意 不符。那么,说谎的肯定是丙了,只有甲 和丙都拿零钱了才符合题意。 7.1号屋的女子说的是真话,夜明珠 在3号屋子内。假设夜明珠在1号屋内,那么2号屋和3号屋的女子说的都是真话,因此不在1号屋内;假设夜明珠在2号屋内,那么1号屋和3号屋的女子说的都是真话,因此不在2号屋内;假设夜明珠在3号屋内,那么只有1号屋的女子说的是真话,因此,夜明珠在3号屋里内。 8.芳芳。假设玲玲说的是实话,那么,芳芳说的也是实话了,与题意不符;假设芳芳说的是实话,那么玲玲说的也是实话了,与题意不符。因此,两个人都没有说实话,把她们两个人说的话反过来就会发现,芳芳的成绩好。 9.小丽买了帽子,小玲买了手套,小 娟买了裙子。 10.假设老鼠A说的是真话,那么其 他三只老鼠说的都是假话,这符合题中仅 一只老鼠说实话的前提;假设老鼠B说的 是真话,那么老鼠A说的就是假话,因为 它们都偷食物了;假设老鼠C或D说的是 实话,这两种假设只能推出老鼠A说假话, 与前提不符。所以a选项正确,所有的老 鼠都偷了奶酪。 11.如果甲是A国人,说的是真话, 问甲:“如果我问乙哪条路是安全之路,他 会指哪条路?”他指出的乙说的路就是错 误的,另一条路就是正确的。 如果甲是B国人,说的是假话同样的 问题问甲,因为乙说真话,甲会和乙的答 案相反,那么另一条路就是正确的。 中级题: 12.若这个人是B队的,则找到的人 是A队的,那人会说在讲台西,而这个人 会说在东;若这个人是A队的,找到的是 A队的,会说在西,若这个人是A队的, 找到的是A队的,会说在西;若找到B队 的,他会说在西,结果还是说西,所以只 要说西,这人一定是讲真话那一队的。 13.根据上述中的假设,(1)和(2) 【1.1】以下不正确的C语言标识符是。 A) B) 1_2 C) 1 D) 【1.2】以下是正确的C语言标识符是。 A) B) _123 C) D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 A) B) i\C) D) _3d> ??? $ ??? 3 【1.4】下面各选项组中,均是C语言关键字的组是。 A) ,, B) ,, C) ,, D) ,, 【1.5】下列不属于C语言关键字的是。 A) B) C) D) 【1.6】C语言程序从()函数开始执行,所以这个函数要写在。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是 A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的类型的常数是。 A) 32768 B) 0 C) 037 D) 0 【1.9】执行语句 (""1);屏幕显示。 A) -1 B) 1 C) D) 【1.10】已知 32768;执行语句("");屏幕显示。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知 65539;执行语句("");屏幕显示。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型()数据在内存中的存储形式是。 A) 原码 B) 补码 C) 反码 D) 码 《程序设计基础》试题库 一、填空题 1.C语言中用于结构化程序设计的3种基本结构是_____________、_____________、_____________。 2.结构化程序应尽量避免使用的语句是__________。 3.C语言中终止整个循环的语句是_____________。 4.循环语句可以和____________、_____________和goto语句结合使用,提前结束整个循环或本次循环。 5.一个C语言程序总是从_____________开始。 6.一个C程序有且仅有一个_______函数。 7.main函数_______ (是或不是)程序唯一的出口。 8.C源程序中,“//”与“/**/”的区别在于“/**/”用于注释_________的说明文字或提示,“//”用于注释_________的说明文字或提示。 9.通过文字编辑建立的源程序文件的扩展名是__________;编译后生成的目标程序文件,扩展名是__________;连接后生成的可执行程序文件,扩展名是__________;运行得到结果。 10. C程序中的数据有__________和__________之分。用一个标识符代表一个常量,称为 __________常量。C语言规定,变量应做到先__________,后使用。 11. C语言的基本数据类型包括:__________、__________和__________。 12. C语言中的实型变量分为两种类型,它们是__________和__________。 13. C语言中的构造类型有__________类型、__________类型和__________类型3种。 14. C语言中的标识符只能由3种字符组成,它们是__________、__________和__________, 且第一个字符必须为__________。 15. 将下面的语句补充完整,使得ch1和ch2都被初始化为字母D,但要用不同的方法: char ch1=__________; char ch2=__________; 16. 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x)) 的值为__________。 17. ++和—运算符只能用于__________,不能用于常量或表达式。++和—的结合方向是 __________。 18. 若逗号表达式的一般形式是”表达式1,表达式2,表达式3”,则整个逗号表达式的 值是__________的值。 19. 逗号运算符是所有运算符中级别最__________的。 20. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为__________。 21. 若有定义: int x=3,y=2; float a=2.5,b=3.5; 则表达式(x+y)%2+(int)a/(int)b的值为__________。 22. 若s为int型变量,且s=6,则表达式s%2+(s+1)%2的值为__________。 23. 设x和y均为int 型变量,且x=1,y=2,则表达式1.0+x/y的值为__________。 24. 假设已指定i为整型变量,f为float型变量,d为double型变量,e为long型变量, 则表达式10+’a’+i*f-d/e的结果为__________类型。 25. C语言的字符常量是用__________括起来的__________个字符,而字符串常量是用 C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。 D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下: 令狐文艳创作 【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 令狐文艳 取5升, 倒在6升中; 再取5升, 倒入6升水壶至其满, 5升水壶中剩下4升; 将6升水壶倒空, 将5升水壶中4升水倒入6升水壶, 再取5升水, 倒入6升水壶至其满, 5升水壶中剩余3升. 答题完毕. 【2】周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到 化验室做作业。做完后想出去玩。 "等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?" 爱动脑筋的周雯,是学校 里有名的"小机灵",她只想了一会儿就做到了。请你想想看,"小机灵"是怎样做的? 将第二只杯子的水倒入第5只杯子. 则为, 满, 空, 满, 空, 满, 空. 答题完毕. 【3】三个小伙子同时爱上了一个姑娘,为了决定他们谁能娶 这个姑娘,他们决定用手枪进行一次决斗。小李的命中率是30%,小黄比他好些,命中率是50%,最出色的枪手是小林, 他从不失误,命中率是100%。由于这个显而易见的事实,为 公平起见,他们决定按这样的顺序:小李先开枪,小黄第二,小林最后。然后这样循环,直到他们只剩下一个人。那么这三个人中谁活下来的机会最大呢?他们都应该采取什么样的策略? 小李存活概率最大. 1. 小李有三个选择, 空枪, 射击小黄, 射击小林. 小李不会选择射击小黄, 因有30% 概率小黄死亡, 小林涉及, 小李必死, 死亡概率 30%; 小李不会选择射击小林, 因有30% 概率小林死亡, 小黄回击, 小李可能死, 死亡概率为 30% * 50% = 15%; 小李会选择空枪, 因为小黄必然射击小林, 小林死亡概率 50%;小林若不死, 必然射击小黄, 小黄死亡概率 50% *100% = 50%;小李死亡概率为0. 2. 此时,小黄和小林中间必然死亡一人. 小李可能面对小黄, 可能面对小林. 面对小黄, 生存概率 30% + 70% *50% = 65% 1﹑以下选项中不合法的用户标识符是( C )。 A)_123 B)PP C)A$ D)Dim 2﹑C语言提供的合法数据关键字是( A )。 A)float B) Sagned C) Integer D) ing 3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。 A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z') C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z') 4﹑C语言可执行程序开始执行点为( C ). A)程序中第一条可执行语句 B) 程序中第一个函数 C)程序中的main函数D) 包含文件中的第一个函数 5﹑以下说法中正确的是( C ). A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main函数中定义 C)C语言程序总是从main函数开始执行 D) C语言程序中,main函数必须放在程序的开始部分 6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 7﹑若有说明和语句: int a=5,b; b=a++; 此处变量b的值是( C )。 A)7 B)6 C)5 D) 8﹑以下程序的输出结果是( D )。 int x=10,y=10; printf("%d %d\n",x--,--y); A) 10 10 B) 9 9 C) 9 10 D) 10 9 9﹑C语言用( C )表示逻辑“真”值。 A)true B)t或y C)非零整数值 D)整数0 10﹑指出下面正确的输入语句( B )。 A) scanf("a=b=%d",&a,&b) ; B) scanf("%d,%d",&a,&b) ; C) scanf("%c",c) ; D) scanf("% f%d\n",&f) ; 11﹑若x=5,y=3 则y*=x+5; y的值为( D )。 A)10 B)20 C)15 D)30 12﹑设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是( C )。 A)0 B)4 C) - 4 D) 2 13﹑以下程序的运行结果是( D )。 void main() { int a=65; char c=’A’; printf(“%x,%d”,a,c); }趣味逻辑思维训练题[答案解析]
c语言选择题
C语言题库及答案
大学c语言考试题库含答案
逻辑思维训练100题.doc
C语言选择题(1-4章期末复习)
C语言题库
训练逻辑思维能力题目集锦带答案
(完整版)C语言考试题库之判断题(2)
C语言单项选择题(含答案)
C语言单项选择题
逻辑思维训练500题答案
二级C语言100道经典选择题与答案
c语言题库完整
C语言试题库(完整版)
逻辑思维训练题及答案之令狐文艳创作
c语言选择题及答案