C语言第二章习题学习资料
c语言第二章习题

第二章练习题一、填空题1、在C语言中的实型变量分为两种类型,它们是float型和()型。
2、若有定义:char c='\010';则变量c中包含的字符个数为()3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为()4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为()个;一个int型数据在内存中所占的字节数为()个。
5、在C语言中,表示逻辑“假”值用数字()表示。
6、C语言中的标识符只能由字母、数字和()三种字符组成。
7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为()8、整型常量即整常数。
可用三种形式表示:十进制整数、八进制整数以()开头、十六进制整数以()开关(注:请用小写字母)9、请将75写成C语言八进制和十六进制表示(),()。
10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()。
12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(),b值为(),c值为()。
13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为()14、若a是int型变量,则计算表达式a=25/3%3 后a的值为()15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(),n的值为()16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为()a+(int)(b/3*(int)(a+c)/2)%417、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()(float)(a+b)/2+(int)x%(int)y18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为()(x+y)%2+(int)a/(int)b19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是()21、若x为int型变量,则执行以下语句后x的值是()x=7; x+=x-=x+x;22、当a=3,b=2,c=1时,表达式f=a>b>c的值是()23、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是()24、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b-c*2的值是()25、若a=1,b=4,c=3,则表达式!(a<b)||!c-3&&!a+c-b的值是( )26、若a=6,b=4,c=3,则表达式a&&b-c-1||!(c-3)的值是( )27、设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( )28、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( ),m的值为( )29、有int x,y,z;且x=3,y=-4,z=5,则表达式x-3&&y==(!x-3||z-5)的值为()30、以下程序的运行结果是()main(){if (2*2==5<2*2==4)printf("T");elseprinft("F");}31、若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值为()32、以下程序的运行结果是()#inclue <stdio.h>main( ){ int x=1,y,z:x*=3+2; printf("%d,",x);x*=y=z=5; printf("%d,",x);x=y==z; printf("%d\n",x);}33、若运行时输入:100<回车>时,则以下程序的运行结果是()main(){ int a;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");}34、已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是()scanf("%d,%d,%f",&i,&j,&x);35、在printf函数中,以八进制形式输出整数用%()格式,以十六形式输出整数用%()格式。
c语言与程序设计-第2章课后习题参考答案

2.1 下列哪些是词法记号?关键字(是)注释空白符八进制常量(是)三字符序列字符串常量(是)括号(是)2.2 C编译器可将下列每一个源字符串分解为哪些记号?(不必考虑记号组合是否合法)(1)x+++y x, ++, +, y(2)-0xabL -, 0xabL(3) 2.89E+12L 2.89E+12L(4)"String+\"FOO\"" " String+ \"FOO\""(5)x**2 x, *, *, 2(6)"X??/" "X??/"(7)a?b a, ?, b(8)x--+=y x, --, +=, y(9)intx=+10 intx, =, +, 10(10)"String""FOO" "String", "FOO"(这道题当时改的时候有几个小题改得有错误,注意!)2.3 下列哪些不是标识符,为什么?标识符由字母、数字和下划线组成,但首字符必须是字母或下划线。
4th 不是,以数字开头;sizeof 不是(标准C的关键字)_limit 是_is2 是xYshould 是x*y 不是,* 非法o_no_o_no 是temp-2 不是,- 非法isn't 不是,' 非法enum 不是(标准C的关键字。
注:关键字也称为保留字,是被系统赋予特定含义并有专门用途的标识符。
关键字不能作为普通标识符,但可以作为宏名。
所有预处理均发生在识别这些关键字之前。
)2.4 在下列表示中,哪些是合法常数,哪些是非法常数?对于合法常数,指出其类型;对于非法常数,说明其错误原因。
2L 合法,long长整型''' 不合法,单引号组中的单引号前需要转义字符.12 合法,double双精度浮点型0x1ag 不合法,g不是16进制数中的符号,也不表示任何类型33333 合法,int整形"a" 合法,字符串常量"" 合法,字符串常量0.L 合法,long double长双精度浮点型E20 不合法,缺少尾数部分0377UL 合法,unsigned long无符号长整型'\18' 不合法,存在非8进制位'\0xa' 不合法,不符合十六进制字符码表示规则\xhh0x9cfU 合法,unsigned int无符号整形'\45' 合法,char字符型1.E-5 合法,double双精度浮点型'\0' 合法,char字符型3.F 合法,float浮点型"3'4"" 不合法,缺少转义符'"' 合法,char字符型(P35,双引号作为字符常量时既可用图形符号也可用转义序列表示)'\a' 合法,char字符型2.6 以下的变量声明语句中有什么错误?(1)int a; b = 5; 第一个分号改为逗号int a, b=5;(2)doubel h; 关键字错误double h;(3)int x = 2.3; 类型错误float x = 2.3;(4)const long y; 需要赋初值const long y = 0;(5)float a = 2.5*g; g未定义变量int g = 1; float a = 2.5*g;(6)int a = b = 2; b未定义变量int a = 2, b = 2;2.7 设变量说明为:int a = 1, b = 2, c = 3, d;double x = 2.0; y = 7.7;请给出下列表达式的值。
C语言第二章习题带答案

1.C语言中的简单数据类型包括( B )。
A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的int类型的常数是( A )。
A.32768 B.0 C.037 D.0Xaf3.下列常数中不能作为C的常量的是( D )。
A.0x45 B.2.5e-2 C.3e2 D.05824.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。
A.0至255 B.0~65535 C.-32768~32767 D.-256~2555.下面4个选项中,均是合法转义字符的选项是( A )。
A.'\'','\\','\n' B.'\','\017','\'C.'\018','\f','xab' D.'\\0,'101','x1f6.在C语言中,数字029是一个( D )。
A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。
A."a" B.'\t' C."\n" D.2978.以下( C )是错误的转义字符。
A.'\\' B.'\'' C.'\81' D.'\0'9.C语言中整数-8在内存中的存储形式是( A )。
A.1111 1111 1111 1000 B.100000000000 1000C.000000000000 1000 D.1111 1111 1111 011110.将字符g赋给字符变量c,正确的表达式是( C )。
A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。
带答案C语言2-10章作业

带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。
(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。
(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。
x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。
A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。
#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。
#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。
A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。
A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。
int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。
c语言第二章试题库及答案详解

c语言第二章试题库及答案详解C语言作为一门经典的编程语言,其试题库及答案详解对于学习者来说至关重要。
以下是C语言第二章的试题库及答案详解,内容涵盖了基本的C语言概念、数据类型、运算符和表达式等。
一、选择题1. 在C语言中,以下哪个是合法的整型常量?- A. 2023- B. 0x1A3F- C. 2023.0- D. '2023'答案: A, B2. 以下哪个选项表示的是C语言中的浮点型常量?- A. 3.14159- B. 2.5e2- C. 0.314E-2- D. All of the above答案: D3. 在C语言中,哪个运算符用于计算两个数的乘积?- A. +- B. -- C. *- D. /答案: C二、填空题1. 在C语言中,基本数据类型包括______、______、______和______。
- 答案:整型(int),字符型(char),浮点型(float),双精度型(double)2. 赋值语句的一般形式是______。
- 答案:变量名 = 表达式3. 表达式 `5 + (fl + 2) * 3 / 2` 的正确计算顺序是先计算______,然后是______,最后是______。
- 答案:括号内的表达式,乘除,加减三、简答题1. 请简述C语言中的变量声明和变量初始化的区别。
- 答案:变量声明是指告诉编译器变量的类型和名称,但不赋予其具体的值。
而变量初始化是在声明的同时赋予变量一个初始值。
2. 解释C语言中的运算符优先级及其对表达式求值的影响。
- 答案:运算符优先级决定了在没有括号的情况下,表达式中各个运算符的执行顺序。
例如,乘法和除法的优先级高于加法和减法,因此在没有括号的情况下,乘除运算会先于加减运算执行。
四、编程题1. 编写一个C语言程序,计算并输出1到10的整数之和。
```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 10; i++) {sum += i;}printf("The sum of integers from 1 to 10 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个浮点数的加法,并输出结果。
C语言2基本语法规则练习题2

C语言2基本语法规则练习题2第二章基本语法规则2.1数据类型、运算符、表达式一、选择题1.C语言中确定数据存储的格式、范围与有效位数的依据是A.数据正负B.数据范围C.数据类型D.数据大小2.一般说在C语言中字符型数据、整型数据、单精度浮点型及双精度浮点型数据的存储长度分别为A.2、4、8、1B.4、2、1、8D.1、4、2、8B.竖向跳格D.换行C.1、2、4、83.转义字符“\\t”表示A.横向跳格,即跳到下一个输出区C.退格4.以下叙述不正确的是A.C语言中的常量分别为整型常量、浮点常量、字符常量、符号常量B.整型常量在C语言中有十进制、八进制和十六进制等3种不同形式C.C语言中,变量必须先定义后使用D.变量被定义后,变量名是固定的,变量的值在程序运行过程中是不可以随时被改变的5.以下叙述不正确的是A.C语言中的字符常量是用一对单引号('')括起来的单个字符B.字符串常量是用一对双引号(““)括起来的字符序列C.字符型数据与整型数据之间不可以通用。
D.为了便于判断字符串是否结束,系统会自动在最后一个字符后面加上一个转义字符(\\0)6.在赋值语句中用来将运算表达式的值赋给变量的“=”称为A.等号B.赋值运算符C.关系运算符D.逻辑运算符7.设a=12,n=3,则执行表达式a%=n+3后a的值为A.3B.0C.6D.12D.3D.4D.1198.设,A=0,B=1表达式!A&&B的值是A.1B.0C.29.在16位PC机环境下,字符串“A”应占的字节数为A.2B.1C.010.采用十进制数为表示方法,则077是A.77B.112C.6311.设某为float型变量,y为double型变量,a为int型变量,b 为long型变量,c为char型变量,则表达式某+y某a/某+b/y+c计算结果的类型为A.intB.longC.doubleD.char12.设a,c为int型变量,进行a=(c=5,c+5,c/2)运算后的结果为A.2B.5C.2.5D.013.在C语言中,表示逻辑“真”和“假”的值分别是A.0、1B.1、2C.1、014.C语言中表示a小于b或小于c的表达式为A.ac&&b>cB.a>c||b>cC.a>b||b>cD.a>b&&b>c16.a和b中有一个小于c的表达式为A.aB.aD.0和3D.1和1D.2D.35D.2、117.若有a=2,b=3,c=4,则表达式a==3和a=3的值分别为A.0和0B.1和3C.3和318.表达式!(1<3)||(2>5)和!(4<=8)&&(7>=3)的值分别为A.1和0B.0和0C.0和1某19.设a=4,计算表达式a=1,a+5,a++的值为A.1B.5C.1020.设某=4,y=8,计算表达式y=(某++)某(--y)的值为A.28B.32C.4021.设有语句chara=`\\72`;则变量包含的字符数为A.3B.2个C.1D.422.设有说明语句:chara='\\123abc';则变量a包含的字符数为A.4B.6C.5D.723.下列叙述正确的是A.赋值语句中的“=”是表示左边变量等于右边表达式B.赋值语句中左边的变量值不一定等于右边表达式的值C.赋值语句是由赋值表达式加上分号构成的D.某+=y;不是赋值语句24.下列选项中,可以作为C语言标识符的是A.3tuB.#tuC.tu3D.tu.3D.tudent3D.13.8eD.chard;25.下列选项中,不可以作为C语言标识符的是A.numB.turbo_cC.print26.下列选项中,不可以作为C语言常量的是A.”abc”B.1/2C.M27.下列选项中,正确的一组语句是A.chara;B.charb;C.charc;a=M;b=55;c=”M”;d=”55”;28.已知字母b的ASCII码值为98,如ch为字符型变量,则表达式ch=b+5-2的值为A.eB.dC.102D.10029.下列不是字符串常量的是A.“1818\B.“aad”C._abdcD.“a”30.在C语言中,int、char和hort三种类型数据所占用的内存是A.均为2个字节B.由用户定义C.是任意的D.由所用机器的机器字长决定31.设int类型的数据长度为2个字节,则unignedint类型数据的取值范围是A.0至255C.-32768至3276732.以下是不正确的转义字符是A.\\\\B.\\B.0至65535D.-256至255C.\\081D.\\0D.反码33.在C语言中,char型数据在内存中的存储形式是A.原码B.补码C.ASCII码某34.若某为unignedint变量,则执行以下语句后的某值为。
C语言课后习题参考答案(前5章)

《C语言程序设计基础》书后习题参考答案(无编程题答案,红色为书上错误)第二章习题一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是()A)% B)/ C)!D)*2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()A)1 B)2 C)2.0 D) 2.53、若变量已正确定义并赋值,符合C语言语法的表达式是()A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为()A)1.0 B)1 C) 2.0 D)25、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()A) 0 B)1 C) 2 D)36、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()A)7 B)8 C)9 D)107、指出下列哪一个选项的程序是错误的()A)#include<stdio.h> B) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1; x=0,y=x+1;z=x+y; z=x+y;} }C) #include<stdio.h> D) #include<stdio.h>void main( ) void main( ){int x,y,z; {int x,y,z;x=0;y=x+1, x=0,y=x+1;z=x+y; z=x+y,} }8、若a为整型变量,则以下语句( )a=-2L;printf(“%d\n”,a);A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为29、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);10、若执行以下程序段后,c3的值为()int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0 B)0.5 C)1 D)211、如下程序的运行结果是()#include<stdio.h>void main( ){ int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A) 3 4 B) 4 2 C) 4 3 D) 3 312、以下程序的输入结果为()#include<stdio.h>void main( ){int i=4,a;a=i++;printf(“a=%d,i=%d’,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=513、以下程序的输出结果是()#include <stdio.h>void main( ){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(}A) 5 B) 4 C) 6 D) 不确定14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)415、已知int i;float f;,正确的语句是()A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;16、已知int j,i=1;执行语句j=-i++;后,j的值是()A)1 B)2 C)-1 D)-217、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)18、C语言中运算对象必须是整型的运算符是( )A) %= B) / C) = D)<=19、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是( )A)12353514 B)12353513 C)12343514 D)1234351320、下面程序的输出结果是()#include<stdio.h>main( ){int x=5,y=3;printf(“%d\n”,y=x/y); }A)0 B)1 C)3 D)不确定的值21、执行下列程序中的输出语句后,a的值是()#include<stdio.h>void main( ){int a;printf(“%d\n”,(a=3*5,a*4,a+5)); }A) 65 B)20 C)15 D)1022、执行下列程序时输入1234567,程序的运行结果为()#include<stdio.h>main( ){int x,y;scanf (“%2d%2ld”,&x,&y);printf(“%d\n”,x+y); }A)17 B)46 C)15 D)923 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()A) double B)int C)float D) char二、填空题1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。
C语言第二章 数据类型习题

第一章 C语言概述【题1.1】一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束【题1.2】以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误【题1.3】以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面【题1.4】C语言规定:在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后【题1.5】一个C语言程序时由。
A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成填空题【题1.6】C源程序的基本单位是【】【题1.7】一个C源程序中至少应包括一个【】【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【】和【】【题1.9】在C语言中,输入操作是由库函数【】完成的,输出操作是由库函数【】完成的。
第二章数据类型、运算符与表达式2.1 选择题【题2.1】在C语言中(以16位PC机为例),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<double【 2.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.以下叙述中错误的是( )。
A) 使用三种基本结构构成的程序只能解决简单问题B) 结构化程序由顺序、分支、循环三种基本结构组成C) C语言是一种结构化程序设计语言D) 结构化程序设计提倡模块化的设计方法2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为()A) (n-n/10*10)*10+n/10B) n-n/10*10+n/10C) n/10+(n-n/10)D) (n-n/10)*10+(n/10)3.以下叙述中错误的是A) 算法正确的程序可以有零个输入B) 算法正确的程序最终一定会结束C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( )。
A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)5.有以下程序#include <stdio.h>main(){ int a;a = (int)1.99*3;printf("%d\n", a);}程序的运行结果是()A) 3B) 5C) 6D) 结果不确定6.请选出合法的C语言赋值语句:()A) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 1/abc 的表达式是:()A) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c8.请选出以下语句的输出结果:()printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。
A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出9.请选出以下语句的输出结果:()printf("%d\n",strlen("\xffff"));A) 1 B) 2 C) 3 D)510.有如下程序段,其输出结果是什么:(<CR>表示输出回车符)()main( ){int a=1,b=3,c=5;if (c=a+b)printf ("yes\n");elseprintf("no\n"); }A) yes<CR> B) no<CR> C) yes\n D) no\n11. 以下说法中正确的是( )A) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分12.逻辑运算符两侧运算对象的数据类型()A) 只能是0和1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据13. 以下叙述中错误的是()A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句14.已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c<d)后n的值为()A) 2B) 0C) 1D) -115.设变量已正确定义并赋值,以下正确的表达式是( )A) x=y+z+5,++yB) int(15.8%5)C) x=y*5=x+zD) x=25%5.016.若有定义语句:int x=10;,则表达式x-=x+x的值为( )A) 0B) -20C) -10D) 1017.有以下程序#include <stdio.h>main( ){ int c, d;c = 10^3;d = 10+3;printf("%d,%d\n", c, d);}程序运行后的输出结果是()A) 13,13B) 9,13C) 10,13D) 103,1318.若有定义:int a=7;float x=2.5,y=4.7;则表达式:x+a%3*(int)(x+y)%2/4的值是:()A)2.500000B)2.7500000C)3.500000D)0.00000019.已知x=43,ch=’A’,y=0,则表达式(x>=y&&ch<’B’&&!y)的值是:()A)0B)语法错误C)1D)”假”20. 若有以下定义和语句:Inta,b;printf(“%d”,(a=2)&&(b=-2));则输出的结果是()A)无输出 B)结果不确定 C)1 D)-121. 以下语句的输出结果是()int a=2,b=3;printf(a>b?”***a=%d”:”###b=%d”,a,b);A)输出结果格式错误 B)***a=2C)###b=2 D)###b=322. 下列运算符中,结合方向为自左向右的是()(A)?:(B),(C)+ = (D)+ +23. 设x、y、z均为int型变量,则执行以下语句后,x、y、z的值为()x=1;y=0;z=2; y++&&++z||++x;A)2、1、3 B)2、0、3 C)2、1、3 D)2、1、224.若有以下定义和语句:int y=10;y+=y-=y-y;则y的值是()A)10 B)20 C)30 D)4025. 下列表达式中,不满足”当x的值为偶数时值为真,为奇数时值为假”的要求的是()A)x%2==0 B)!x%2!=0C)(x/2*2-x)==0 D)!(x%2)==026.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( )A) int a=b=c=1; B) inta,b,c=1; C) a=b=c=1; D) int a=1,b=1,c=1;27.字符串"\t\065\xff\n"中的字符数(不算’\0’)为( )A) 5 B) 14 C) 8 D) 428.若有以下定义:chara;int b;float c;double d;则表达式a*b+d-c值的类型为( )A) float B) int C) char(字符型) D)double29.在C语言中,运算对象必须是整型数的运算符是( )A) % B) / C) %和\ D) **30.以下选项中,当x为大于1的奇数时,值为0的表达式是( )A) x%2==1 1为真,0为假 B) x/2 C) x%2!=0 D) x%2==031.有以下程序main(){char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是( )A) b,b B) b,c C) a,b D) a,c32.写出下面程序的值.#include<stdio.h>void main(){int a=10,b=4;printf("%d \n",a%=(b%=3));}A)0 B) 1 C) 10 D)2注连续赋值操作从右向左进行33.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()A. ‟a‟&&‟b‟B. a<=bC. a||b+c&&b-cD. !((a<b)&&!c||1)34. 请选出可用作C语言用户标识符的一组标识符:A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof35. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:A)1 B)2C)2.0 D)2.536. 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是:A) 3 4 B) 4 2 C) 4 3 D) 3 337.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是:A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;38. 在以下一组运算符中,优先级最高的运算符是:A)<= B)=C)% D)&&39. 有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是:A) 2,1 B) 3,2 C) 4,3 D) 2,-140. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:A)a<>0 B)!aC)a=0 D)a41、以下选项中,能用作数值常量的是________。
(A)o115 (B)0118 (C)115L (D)1.5e1.542、下列叙述中错误的是_______。
(A)一个C 语言程序只能实现一种算法(B)一个C 函数可以单独作为一个C 程序文件存在(C)C 程序可以由一个或多个函数组成(D)C 程序可以由多个程序文件组成43、设变量已正确定义并赋值,以下正确的表达式是_______。
(A)int(15.8%5) (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z44、以下叙述中错误的是_____________。
(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj 的目标程序(C)用 C 语言编写的程序称为源程序,它以ASCII 代码形式存放在一个文本文件中(D)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件45、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________。
(A)大写字母(B)下划线(C)数字字符(D)连接符46、以下选项中,合法的一组C 语言数值常量是__________。
(A)0x8A 10,000 3.e5 (B).177 4e1.5 0abc (C)028 .5e-3 -0xf (D)12. 0Xa23 4.5e0 7、47以下选项中不合法的标识符是__________。