C习题一表达式
C语言练习题一及答案
![C语言练习题一及答案](https://img.taocdn.com/s3/m/0a18eec258f5f61fb73666f2.png)
C语言练习题一一、填空题。
(每空1分,共10分)1.语句while(e==0):中的条件e==0等价于_____________;答案:!e2 printf(“%4s”,“beijing”);输出为:_____________;答案:beijing3.C语言中的字符串以字符_____________;答案:答案:\04.C语言可以处理的文件类型是_____________和_____________;答案:文本文件和二进制文件5,int(*P)[5];说明p是:_____________;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被称为函数的_____________;答案:递归7.若有static int x[5],x[4]的地址表示是:___________ 。
答案:&x[4]或x+48.有程序段如下:int x=l:while (x<=lO){x+=3;printf(“%d\n”,x);}则:函数printf()执行次数是____4_____ ,循环结束后X的值是___________ 。
答案:139.若有以下定义和语句,则sizeof(a)的值是_____,答案:12,而sizeof(b)的值是__。
答案:4 struct{int day;char month;int year;}a,*b;10.若有static char c[10] = “China”;执行该语句后c[1]= ___________ 。
答案:h c[5]= ___________ 。
答案:\0c[6]= ___________ 。
答案:\0 strlen(c)= ___________ 。
答案:511.若有Static char c[s]={’a’,’b’,’\0’(零),‘c’,‘d’};printf(“%s\n”,c):则输出内容为:___________ 。
答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。
c语言习题1-5章
![c语言习题1-5章](https://img.taocdn.com/s3/m/4623d4f733d4b14e852468d5.png)
C语言习题1-5章单项选择1.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。
A:(exp==0)B:(exp!=0)C:(exp==1)D:(exp!=1)答案:B2.putchar函数可以向终端输出一个()。
A:整型变量表达式值B:实型变量值C:字符串D:字符或字符型变量值答案:D3.C语言中运算对象必须是整型的运算符是()。
A:%=B:/C:=D:〈=答案:A4.以下数据中,不正确的数值或字符常量是()。
A:8.9e1.2B:10C:0xff00D:82.5答案:A5.一个C语言程序是由()。
A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B6.经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。
int x=1,y=2,z=3;A:2B:3C:6D:5答案:C7.若int a=2,则执行完表达式a-=a+=a*a后,a的值是()。
A:-8B:-4C:-2D:0答案:D8.以下叙述中错误的是()。
A:可以通过typedef增加新的类型B:可以用typedef将已存在的类型用一个新的名字来代表C:用typedef定义新的类型名后,原有类型名仍有效D:用typedef可以为各种类型起别名,但不能为变量起别名答案:A9.结构化程序由三种基本结构组成,三种基本结构组成的算法()。
A:可以完成任何复杂的任务B:只能完成部分复杂的任务C:只能完成符合结构化的任务D:只能完成一些简单的任务答案:A10.以下关于运算符优先顺序的描述中正确的是()。
A:关系运算符<算术运算符<赋值运算符<逻辑运算符B:逻辑运算符<关系运算符<算术运算符<赋值运算符C:赋值运算符<逻辑运算符<关系运算符<算术运算符D:算术运算符<关系运算符<赋值运算符<逻辑运算符答案:C11.下列程序段的输出结果为()。
c语言习题(1-4章)
![c语言习题(1-4章)](https://img.taocdn.com/s3/m/deeff4e7b8f67c1cfad6b811.png)
A.八进制数B.十六进制数C.十进制数D.非法数
8.下列可以正确表示字符型常量的是(B)
A.”a”B.’\t’C.”\n”D.\168
9.已知int i; float f;,正确的语句是(D)
A. int(f)%2.0; B.int(f)%i;
C. int(f%i); D(int)f%i;
float y=123.4567;
printf(“ x=%2d,x=%6d,x=%o,x=%x\n”,x,x,x,x);
printf(“y=%8.4f,y=%8.2f,y=%.5\n”,y,y,y);
}
答案:x=127, x=127, x=177
y=123.4567,y=123.46, y=123.45670
5
#include<stdio.h>
void main()
{
Int x=3,y=5;
Printf(“%d,%d\n”,(x--,--y),x++);
}
答案:4,3
6
#include<stdio.h>
void main()
{
Int a=3;
Printf(“%d,%d\n”,a,(a-=a*a));
}
答案:-6,-6
5 若变量以说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( A )
A 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);
C语言习题(1)
![C语言习题(1)](https://img.taocdn.com/s3/m/25f9e035b90d6c85ec3ac6e8.png)
C语言概述、数据类型运算符表达式、顺序结构一、选择题1.下列叙述中,正确的是。
A.C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严谨,要求一行内只能写一个语句C. C程序的书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2.下列选项中,可作为合法标识符的是。
A.1mB. DataC. str+1D. i-1 3.设变量已正确定义并赋值,以下合法的C语言赋值语句是。
A.x=y==5B. x=n%2.5C. x+n=iD. x=5=4+1 4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是。
A.k++B. k+=1C. ++kD. k+1 5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是。
A.,B. 空格C. 回车D. Tab键6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是。
A.任何不同数据类型都不可以通用B. 有些不同类型的变量可以在同一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义7.下列常数中不能作为C语言的常量的是。
A.0Xa6B. 3.4e-3C. 3e5D. 0683 8.下面不是C语句的是。
A.int;B. ;C. a=1,b=5D. {;} 9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是。
A.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); 10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是。
C语言习题答案1-7章
![C语言习题答案1-7章](https://img.taocdn.com/s3/m/7d72246bf5335a8102d2206f.png)
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3.以下叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C语言习题集(平时练习含答案)1
![C语言习题集(平时练习含答案)1](https://img.taocdn.com/s3/m/522613fb0b1c59eef8c7b4a1.png)
C语言习题集第一章C语言概述复习要点:1. 程序的构成,main函数和其他函数。
2.语句,注释3.运行C程序的步骤和方法习题:1.C程序是由函数构成的,一个C程序中至少包含一个main函数。
2.函数是C程序的基本单位。
(最小单位是表达式)3.C程序有且只有一个main函数。
4.C程序从main函数开始执行。
5.C程序注释符是由/*和*/组成,且不能嵌套使用。
6.C程序的语句是以; 结束。
7.C程序一条语句可分多行写,需要以为连接符。
(可以直接换行)8.C程序可以用{ 和} 将多条语句括起来,形成复合语句。
9.上机运行一个C程序必须经过源代码输入,编译,连接,运行4个步骤。
10.C程序的源文件扩展名是。
c 。
11.以下叙述中正确的是(C)A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,main必须小写,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数12.以下叙述中错误的是(D)A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令13.以下不是语句的是(A)A) a=10 B)a=b+c;c=20;C) ; D){a=b;b++;}14.运行以下程序main(){int a=10; /* 定义一个变量 aa=20; */printf(“%d”,A); 此程序应该改写为:printf(“%d”,a)}输出的结果是 B 。
A) 10 B)2015.牢记VC++6.0的出错提示英文提示中文实际意义missing ; , ( { 等表示缺少;,( {'T' : undeclared identifier T没有定义(T要先定义然后才能使用)'sqrt' undefined; sqrt如果是函数名则表示它的头文件没有包含'T' : redefinition T重复定义(可能是多次定义了T)Cannot open include file 头文件的拼写或路径的不对第二章数据类型,运算符与表达式复习要点:1. C的数据类型(整型,字符型,浮点型)及其定义方法。
C语言习题练习(附答案)
![C语言习题练习(附答案)](https://img.taocdn.com/s3/m/d1f44ee804a1b0717fd5dd2b.png)
《高级语言程序设计》习题一.填空题1. 以下条件表达式可计算1+|a|的值,填空完成语句:a>=0 ?(1+a ):( 1-a )2. 函数max 定义的首部为:int max(int x[],int n),该函数完成实现寻找长度为n 的数组x 中的最大元素。
若在主函数中有定义:int c,a[10];并要求函数调用后,变量c 存放数组a 中的最大元素,则函数调用语句应为:(c=max(a,10);)3. 若有int i=5; 则循环语句while(i > = 1) i - -;执行后,i 的值为 (0)。
4. 能正确表示逻辑关系:“0≤a <10”的C 语言表达式是(0<=a && a<10)。
5. 设int a[2][3] = {{2},{3}};则数组元素( a[1][0] )的值为3。
6. 表达式 (int)(3.0/2.0)的值是( 1 )。
7. 有定义: int x=3, y=2; 执行x/=y+1; 语句后x 的值为( 1 ) 。
8. 有定义: int x=2, y=0; 表达式 (!x||y) 的值为( 0 )。
9. 有定义:char str[]= “Hello!”; 则数组str 的长度为( 7 )。
10. 有定义:int i=5; 则循环语句while(i>=1) i=i-2; 执行后变量i 的值为( -1 )。
11. 已知 ‘A ’~ ‘Z ’ 的ASCII 码为65~90,当执行int x= ‘D ’+5; 语句后x 的值为( 73 )。
12. 有定义int a[6]={1,2,3,4,5,6},*p=a; 则*(p+2)的值为( 3 ),*(++P )的值为( 2 )。
13. 如果在调用一个函数过程中,又调用另一个函数,称为函数的( 嵌套 )调用。
如果在调用一个函数的过程中又直接或间接地调用该函数本身,称为函数的( 递归 )调用。
c语言期末考试练习题1(含答案)
![c语言期末考试练习题1(含答案)](https://img.taocdn.com/s3/m/6a872be5b90d6c85ed3ac66e.png)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
c语言习题
![c语言习题](https://img.taocdn.com/s3/m/d16bff4af524ccbff0218465.png)
c语言习题(带答案)(共5页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、选择1若有表达式(a)(--x):(++y),则其中与a等价的表达式是A) a= =1 B) a= =0 C)a!=1 D) a!=02有以下程序段int x,y,z;x=10; y=50; z=30;if(x>y)x=y,y=z;z=x;printf(“x=%d y=%d z=%d \n”,x,y,z);程序的输出结果是A) x=10 y=50 z=10 B) x=10 y=50 z=30C) x=10 y=30 z=10 D) x=50 y=30 z=503下面的函数调用语句中func函数的实参个数是f(f2(u1,u2),(u3,u4),(u6,max(u7,u8)));A)3 B) 4 C)5 D)84 以下叙述中错误的是A) 用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值 C)用户定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达6有以下程序#include <>void fun( int a, int b){ int t;t=a; a=b; b=t;}main(){ int c[10]={11,12,13,14,15,16,17,18,19,20}, i;for(i=0;i<10;i+=2) fun(c[i], c[i+1]);for(i=0;i<10;i++) printf("%d," ,c[i]);printf("\n");}程序的运行结果是A)11,12,13,14,15,16,17,18,19,20B)12,11,14,13,16,15,18,17,20,19C)20,19,18,17,16,15,14,13,12,11D)20,11,12,13,14,15,16,17,18,198有以下程序main(){ int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf("%d,%d,%d,%d\n",*p,"q,a,b);}程序运行后的输出结果是A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,79 .s1和s2已正确定义并分别指向两个字符串。
C习题1
![C习题1](https://img.taocdn.com/s3/m/9e7c681a650e52ea55189844.png)
printf(“%d , %d”, a+1 , a+2);
【答案】
1、main函数(主函数)2、load save3、3,04、2.35、0
6、 17、12,48、5,-19、外部,全局10、 3.5□3:411、 0
12、22,013、514、-32768,-32767
1、C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是()和()。
13、表达式5%3 && !(9-6) ? 10 : 20的值是()。
【答案】
1、常量2、下划线3、1,04、2.55、16、2,67、18、4,0
9、ASCII,二进制10、 10: 3.3,2211、-1,112、99,013、20
1、一个完整的C程序,必须包含一个且只能有一个()。
2、在TURBO C集成开发环境中,运行C源程序命令对应的快捷键是(),查看用户输出屏幕对应的快捷键是()。
7、在C语言中,从变量存在的时间上划分,变量可分为()存储变量和()存储变量两种。
8、设int a ;则表达式(a=2*3,a*6), a+2的值是(),a的值是()。
9、设int j=2 ;执行do {…} while(j--) ;后,j的值是()。
10、执行scanf (“%d%f , %d”,&a,&b,&c) ;在输入输出屏幕使变量a=1 , b=3.6 , c=2的正确输入格式是()。
3、表达式25/3%5的值是(),25%3/5的值是()。
4、设float x=2.6 , y=4.9;则表达式x/2+(int)(x+y)%3的值是()。
C语言(数据类型与运算符)习题与答案
![C语言(数据类型与运算符)习题与答案](https://img.taocdn.com/s3/m/d0c9fd82b90d6c85ed3ac689.png)
一、单选题1、表达式:(int)((double)9/2)-(9)%2 的值是A.1B.0C.4D.3正确答案:D解析: D、整数除以整数,结果为整数2、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为A.0B.-10C.10D.20正确答案:B3、以下选项中,不能作为合法常量的是A.1.234e+4B.1.234e04C.1.234e0.4D.1.234e0正确答案:C解析: C、指数次数必须为整型4、下列选项中,不能用作标识符的是A.int_2_B.i_nt123C. _1234_D.2_int_正确答案:D5、设有定义:float a=2,b=4,h=3; 以下C语言表达式与代数式(a+b)/2 × h 计算结果不相符的是A.(1/2)*(a+b)*hB.h/2*(a+b)C.(a+b)*h/2D.(a+b)*h*1/2正确答案:A二、填空题1、若有定义语句:int a=5;,则表达式:a++ 的值是________。
正确答案:5解析:相当于 y=a++,求y的值,++在后,先使用a的值赋给y,之后再给a增1 2、若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为 ________。
正确答案:1解析: %运算要求两数为整数,结果为整数3、设有语句char a='\072';则变量a最终获得________个字符?(仅填写具体阿拉伯数字)正确答案:1解析:这是一个转义字符4、一个float型变量占________个字节?(仅填写具体阿拉伯数字)正确答案:45、int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是________。
正确答案:0解析:关系运算只能两两判断。
C语言程序设计(第二版)习题参考答案1
![C语言程序设计(第二版)习题参考答案1](https://img.taocdn.com/s3/m/6febc0cb59f5f61fb7360b4c2e3f5727a5e9245c.png)
C语言程序设计(第二版)习题参考答案1习题1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。
2.二进制是由0和1两个数字组成的进制方式。
3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。
4.在整数的二进制表示方法中,0的原码、反码都有两种形式。
5.有符号数有三种表示法:原码、反码和补码。
6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。
解:1.F2.T3.T4.T5.T6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是A.原码B.反码C.补码D.移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数A.112B.120C.121D.1223.关于ASCII码,在计算机中的表示方法准确地描述是A.使用8位二进制数,最右边一位为1B.使用8位二进制数,最左边一位为1C.使用8位二进制数,最右边一位为0D.使用8位二进制数,最左边一位为04.设在机器字长4位,某=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。
A.某∧Y=1000B.某∨Y=1111C.某⊕Y=0011D.¯=1000Y5.下列叙述中正确的是()。
A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。
A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。
A.main函数在C程序中必须有且只有一个B.C程序的执行从main函数开始,所以main函数必须放在程序最前面C.函数可以带参数,也可以不带参数。
C语言运算符与表达式的练习题-答案教学文案
![C语言运算符与表达式的练习题-答案教学文案](https://img.taocdn.com/s3/m/0a6911fbcaaedd3382c4d38c.png)
C语言运算符与表达式的练习题-答案C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D)。
A. 32LB. 510000C. -1.00D. 567(2)以下选项中,(D)是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"(3)字符串的结束标志是(C)。
A. 0B. '0'C. '\0'D. "0"(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D)。
A. && ! ||B. || && !C. && || !D. ! && ||(6)表达式!x||a==b 等效于(D)。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。
A. 0,0B. 0,1C. 1,0D. 1,1*(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。
A. 3B. 0C. 9D. -12(9)在以下一组运算符中,优先级最低的运算符是(D)。
A. *B. !=C. +D. =(10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。
A. 6B. 12C. 15D. 表达式出错(11)若已定义 x 和 y为double 类型,则表达式的值是(D)。
c语言运算符与表达式练习一
![c语言运算符与表达式练习一](https://img.taocdn.com/s3/m/0fa3d40c2e60ddccda38376baf1ffc4fff47e273.png)
运算符与表达式练习一一、选择题1.C语言中运算对象必须是整型的运算符是A)% B)/ C)* D)+2.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b3.以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;4.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A) 6.500000 B) 6 C) 5.500000 D) 6.0000005.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 16.以下叙述中正确的是A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。
B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D)已有a=3, b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 7.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100; B)d++; C)c+b; D)d=(c=22)-(b++);8.以下选项中不是C语句的是A){int i; i++; printf(“%d\n”, i); }B); C)a=5,c=10 D){ ; }9.以下合法的C语言赋值语句是A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)--i;10.判断char型变量c是否为大写字母的最简单且正确的表达式是A)’A’<=c<=’Z’ B)(c>=’A’&(c<=’Z’)C) (‘A’<=c)AND(‘Z’>=c) D)(c>=’A’)&&(c<=’Z’)11.下列运算符中优先级最高的运算符是A)! B)% C)-= D)&&12.下列运算符中优先级最低的运算符是A)|| B)!= C)<= D)+13.为表示关系 x≥y≥z,应使用的C语言表达式是A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)14.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1)二、填空题1.若k为int型变量且赋值11,请写出运算k++后表达式的值和变量的值。
C语言基础知识习题答案——第一章
![C语言基础知识习题答案——第一章](https://img.taocdn.com/s3/m/9f5aff2b3169a4517723a303.png)
第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。
这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。
这个题目考察用户标识符的概念。
4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。
16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。
C语言习题
![C语言习题](https://img.taocdn.com/s3/m/f523403ac281e53a5802ff9f.png)
第一章选择题1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成第三章选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是。
A) define IF typeB) getc char p rintfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’5.下面正确的字符常量是。
A) “c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
C参考答案与复习题c_3
![C参考答案与复习题c_3](https://img.taocdn.com/s3/m/45567ff449649b6648d747fd.png)
第3章 运算符和表达式丰富的运算符可使表达式方便、简捷。
初学者一下掌握这么多操作符会有压力。
可通过写或计算表达式的练习,以及各章程序实例中出现的表达式,进一步熟悉运算符。
3.1 表达式的基本概念对数据进行各种运算的符号为运算符,参与运算的数据为操作数。
表达式构成:常量、变量、有返回值的函数调用是表达式,表达式加圆括号、或用运算符作正确连接后也是表达式。
圆括号左、右括号个数要相同,多层括号时内层括号中的运算优先;整个表达式必须写在同一行上。
a ·x 3+b ·x 2+c ·x+d 写作a*x*x*x+b*x*x+c*x+d 或 ((a*x+b)*x+c)*x+d ;写作 1/(1+1/(1+x));等等。
C 运算符:算术、关系、逻辑、条件、赋值、逗号运算符,等等。
根据参与运算的操作数个数,运算符可分为单目、双目以及三目运算符。
两个操作数的运算符是双目运算符,“单目运算符”只有一个操作数。
三目运算符是C 语言所特有的,它有三个操作数。
不同运算符参与运算时有优先级问题。
如先乘除、后加减。
同级运算一般是从左向右进行。
特例如赋值“x=y=3”,先计算y=3、再计算x=y 。
特例将特别指出,一般按缺省。
主要介绍算术(包括自增自减)、关系、逻辑、赋值、逗号运算符,以及由这些运算符构成的各类表达式。
3.2 算术运算符与算术表达式内容:算术运算符及其功能,算术表达式,优先级、运算时的类型转换规则。
3.2.1 算术运算符1. 算术运算符C 的算术运算符有:+ - * / %(取余)其中“-”可作单目运算符,如-5,表达式3*-5值为-15。
各运算符优先级:先乘除、后加减;取余的优先级和乘除相同。
优先级的讨论,应限于同一层括号内,同级运算一般从左到右执行。
具体规则如下:x ++1111•字符类型数据以该字符的ASCII 值参加运算,参与运算的字符可以看作一个特殊的整型数。
如12.5+'A'的值为77.5,其中'A'以该字符ASCII 值65参加运算。
C语言单元练习题
![C语言单元练习题](https://img.taocdn.com/s3/m/bcbcaf0daf45b307e9719704.png)
4、在嵌套使用if语句时,C语言规定else总是( C )。 A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的 if配对 C.和之前与其最近的且不带else的if配对 D.和之前的第一个if配 对 5、若有表达式(w)?(--x):(++y),则其中与w 等价的表达式是(D )。 A.w==l B.w==0 C.w!=l D.w!=0 6、希望当num的值为奇数时,表达式的值为“真”,num的值为偶数 时,表达式的值为“假”,则以下不能满足的表达式是( C)。 A. num%2==1 B. !(num%2==0) C. !(num%2) D. num%2 7、 设有定义: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;} 8、若有表达式(w)?(--x):(++y),则其中与w 等价的表达式是(D )。 A.w==l B.w==0 C.w!=l D.w!=0 9、有以下程序运行时,输入的值在哪个范围才会有输出结果( B )。 main(){ int x; scanf("%d",&x); if(x<=3) ; else if(x!=10) printf("%d\n",x); } A.不等于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 10、若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可 替代W的是 A A.a<>b+c B.ch=getchar() C.a==b+c D.a++ 11.逻辑运算符两侧运算对象的数据类型 D 。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 12.下列表达式中, 不满足“当x的值为偶数时值为真,为奇数时值为 假”的要求。 B A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2) 13.以下程序片段 。 int x=2,y=3; printf( ); A
C语言练习题1(数据 运算符 输入输出2008-2012二级真题)
![C语言练习题1(数据 运算符 输入输出2008-2012二级真题)](https://img.taocdn.com/s3/m/8e95ce7801f69e314332949e.png)
C语言练习题(一)一选择题1.以下叙述错误的是:A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名2.设有以下语句 char ch1,ch2,;scanf(“%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔3.以下选项中非法的字符常量是A.‘\102’B.‘\65’C.‘\xff’D.‘\019’4.有以下程序#include <sthio.h>void main(){ int A=0,B=0,C=0; C=(A-=A-5);(A=B,B+=4); Printf(“%d, %d, %d\n”,A,B,C) } 程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,05.设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是A.x++; printf((“%d\n”,x);B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x);D.n=x++; printf((“%d\n”,n);6.以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.07.以下选项中关于c语言常量的叙述错误的是( )。
A所谓常量,是指在程序运行过程中,其值不能被改变的量B常量分为整型常量、实型常量、字符常量和字符串常量C常量可分为数值型常量和非数值型常量D经常被使用的变量可以定义成常量8.若有定义语句int a=10;double b=3.14;则表达式'A'+a+b值的类型是( )。
A charB intC doubleD float9.若有定义语句 int x=12,y=8,z; 在其后执行语句z=0.9+x/y;则Z的值为( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数据类型、运算符与表达式2.1 选择题**2.1C语言中(以16位PC机为例),各数据类型的存储空间长度的排列顺序为。
A)char<int<long<=float<doubleB)char=int<long<=float<doubleC)char<int<long=float=doubleD)char=int=long<=float<double*2.2若x、i、j和k都是int型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52**2.3假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是。
A)7 B)8 C)5 D)2参考答案:B2.4下列四组选项中,均不是C语言关键字的选项是。
A)define B)getc C)include D)whileIF char scanf gotypeprintf case pow2.5下列四组选项中,均是C语言关键字的选项是。
A)auto B)switch C)signed D)ifenumtypedef union structinclude continue scanf type*2.6下面四个选项中,均是不合法的用户标识符的选项是。
A)A B)float C)b-a D)_123P_0 la0 goto tempdo _A int INT**2.7 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符*2.8 下面四个选项中,均是合法整型常量的选项是。
A)160 B)-0xcdf C)-01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x*2.9下面四个选项中,均是不合法的整型常量的选项是。
A)--0f1 B)-0Xcdf C)-018 D)-0x48eg-0xffff 017 999 -0680011 12,456 5e2 03f*2.10下面四个选项中,均是不合法的浮点数的选项是。
A)160. B)123 C)-.18 D)-e30.12 2e4.2 123e4 .234e3 .e5 0.0 1e3*2.11下面四个选项中,均是合法的浮点数的选项是。
A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-0*2.12下面四个选项中,均是合法转义符的l选项是。
A)'\'' B)'\' C)'\018' D)'\\0''\\' '\017' '\f' '\101''\n' '\"' 'xab' 'x1f'*2.13下面四个选项中,均是不合法的转义符的选项是。
A)'\"' B)'\1011' C)'\011' D)'\abc''\\' '\' '\f' '\101''\xf' '\a' '\}' 'x1f'*2.14下面正确的字符常量是。
A)"c" B)'\\'' C)'W' D)""*2.15下面四个选项中,均是不正确的八进制或十六进制数的选项是。
A)016 B)0abc C)010 D)0a120x8f 017 -0x11 7ff018 0xa 0x16 -1232.16下面四个选项中,均是正确的八进制或十六进制数的选项是。
A)-10 B)0abc C)0010 D)0a120x8f -017 -0x11 -0x123-011 0xc 0xf1 -0xa 2.17下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.2.18下面不正确的字符串常量是。
A)'abc' B)"12'12" C)"0" D)" "2.19 对应以下各代数式中,若变量a和x均为double类型,则不正确的c语言表达式是。
A) ex^2/2 exp(x*x/2)/sqr(2*3.14159)√2πB)½(ax+a+x/4a) 1.0/2.0*(a*x+(a+x)/(4*a))C)√sinx2.5sqrt((pow(sin(x*3.14159/180),2.5))D)x2-e5 x*x-exp(5.0)2.20若有代数式3ae/bc,则不正确的C语言表达式是。
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*cD)a*e/c/b*32.21已知各变量的类型说明如下,则不符合C语言语法规定的表达式是。
intk,a,b;unsigned long w=5;double x=1.42;A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)2.22已知各变量说明如下,则符合C语言语法规定的表达式是。
inti=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)*2.23以下不正确的叙述是。
A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算表达式a=b后,b的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值2.24以下正确的叙述是。
A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符*2.25以下符合C语言语法的有赋值能力的表达式是。
A)d=9+e+f=d+9 B)d=9+e,f=d+9C)d=9+e,e++,d+9 D)d=9+e++=d+7**2.26已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2的值为。
A)D B)68 C)不确定的值D)C*2.27在C语言中,要求运算数必须是整型(数)的运算符是。
A)/ B)++ C)!= D)%*2.28若以下变量均是整型,且num=sum=7;则计算表达式sUM=num++, sUM++,++num后sum的值为。
A)7 B)8 C)0 D)10*2.29在C语言中,int、char和short三种类型数据在内存中所占用的字节数。
A)由用户自己定义B)均为两个字节C)是任意的D)由所用机器的字长决定2.30若有说明语句:char c='\72';则变量c 。
A)包含1个字符。
B)包含2个字符。
C)包含3个字符。
D)说明不合法,c的值不确定。
2.31若有定义: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.500000D)0.000000*2.32sizeof(float)是。
A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式*2.33设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为。
A)int B)float C)double D)不确定2.34下面四个选项中,均是非法常量的选项是。
A)'as' B)'\\' C)-0x18 D)0xabc-0fff '\01' 01177 '\0''\0xa' 12,456 0xf "a"*2.35若有代数式√yx+log10y,则正确的C语言表达式是。
A)s qrt(fabs(pow(y,x)+log10(y)))B)sqrt(abs(pow(y,x)+log10(Y)))C)s qrt(fabs(pow(x,y)+log10(y)))D)s qrt(abs(pow(x,y)+log10(y)))2.36 若有代数式|x3+lgx|,则正确的C语言表达式是。
A)fabs(x*3+log10(x))B)abs(pow(x,3)+log10(x))C)abs(pow(x,3.0)+log10(x))D)fabs(pow(x,3.0)+log10(x))*2.37在C语言中,char型数据在内存中的存储形式是。
A)补码B)反码C)原码D)ASCII 码*2.38设变量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.02.39表达式18/4*sqrt(4.0)/8值的数据类型为。
A)int B)float C)double D)不确定2.40设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为。
A)0-255 B)0-32767 C)0-65535D)0-21474836472.41设有说明:char w;intx;floaty;double z;则表达式w*x+z-y值的数据类型为。
A)float B)char C)int D)double2.42若有以下定义,则能使值为3的表达式是。
int k=7,x=12;A)x%=k%=5 B)x%=k-k%5C)x%=(k-k%5) D)(x%=k)-(k%=5)2.43设以下变量均为int类型,则值不等于7的表达式是。