内容发布更新时间 : 2025/1/8 18:09:26星期一 下面是文章的全部内容请认真阅读。
二、类型及表达式 一)合法的标志符: 例题:
1. 是合法的用户自定义标识符的( D )
A)ah-spks B)double C)
A)%x B)a+b C)a123 D)test! 3. 以下不能定义为用户标识符的是( C )
A) Void B) b_2 C) int D) name
二)合法的整型常量 例题:
1. 以下选项中可作为C语言合法整数的是( D )
A) 11010 B B) 0583 C) x2b2 D) 0xafb
三)合法的实型常量 例题:
1. 以下选项中可作为C语言合法常量的是(A)
A)-80. B)-080 C)-8e1.0 D)-80.0e
四)合法的字符型常量 例题:
1. 设有说明语句:char a=?\\123?;则变量a( A )
A)包含1个字符 B)包含2个字符 C)3个字符 D)说明不合法 2. C 语言中,“\\x5d”在内存中占用的字节数是( A )
A) 2 B) 5 C) 4 D) 1
3. 字符串“\\t\\x42\\\\bcd\\n”的长度是( A )。
A)7 B)10 C)12 D)13
五)各种基本类型变量所占的字节数 例题:
1. 下列式中,值不为4的表达式是( C)
A)sizeof(unsigned long) B)sizeof(long) C)sizeof(unsigned int) D)sizeof(float)
六)合法的表达式 例题:
1. 设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是( BC )
A)a=5++ B)a=b=c++ C)a%=2 D)b=a+1=2
七)表达式的值 例题:
1. 设整型变量a的值为2,下列表达式值为1的是( C )
A)a%3 B)a/3 C)--a D)a++ 2. 下列表达式的值为0的是( A )
A) 7/8 B) 7%8 C) 7/8.0 D) 7<8
3. 设float m=4.0, n=4.0; 使m为10.0的表达式是( D )
A) m-=n*2.5 B) m/=n+9 C) m*=n-6 D) m+=n+2 4. 逗号表达式(a=4*5,a*2),a+15 的值是( A )
A) 35 B) 40 C) 55 D) 20
八)++、--运算 例题:
当i=4,j=5时,表达式3-(i++)*4+(--j)的值如何,i,j的值多少? 表达式值为-9,i=5,j=4
九)表达式的类型 例题:
1. 下列式中,最终运算结果的数据类型不是双精度的表达式的是( A )
A)(int)(3+3.0) B)1e-3 C)(double)(3) D)(int)3.0+3.0
二、顺序结构 例题:
1. putchar函数可以向终端输出一个( D )
A)整数 B)实数 C)字符串 D)字符
二)printf和scanf语句的使用方法: 例题:
1. 设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )
A)2 3 B)2,3 C)2;3 D)2
2. 设变量定义为int a,b;执行下列语句时,输入( B),则a和b的值都是10
scanf(“%d,%d”,&a,&b);
A)10 10 B) 10,10 C)a=10 b=10 D)a=10,b=10 3. 有以下程序
main()
{ int m,n,p;
scanf(\ printf(\
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )
A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789
例题:
1. 有如下程序段:
int a=3,b=15; float f=7.5;
printf(“%.1f”,(float)a+b/2+(int)f%3);
执行该程序段后,运算结果为:( B ) A)11.5 B)11.0 C)11 D)12.0
三、选择结构
一)关系表达式、逻辑表达式和条件表达式 例题:
1. 在C程序中,用( B )表示逻辑”真”。
A)1 B)非0的数 C)非1的数 D)大于0的数
2. 若有定义:int x=2,y=3,z=4;则表达式!(x+y)+z-1&&y+z%2的值为( C ) A)4 B)0 C)1 D)2
3. 设int a=0,b=0,c=0;c=++a||b++;则a、b、c值分别为( d ) A)0 1 0 B)1 1 1 C)1 1 0 D)1 0 1 4. 执行语句:int a=1,b=0,c;c=a>0||++b;后,b的值为( a ) A)0 B)1 C)2 D)不确定
5. 设int x,y,z=4;x=y=++z;x=(y>z)?x+2:x++;则x的值是( C ) A)4 B)5 C)6 D)7
6.
为表示关系x>y>=z,则正确的c语言表达方式为( C )。 A)(x>y>=z) B)(x>y)and(y>=z)
C)(y
7. 若变量ch为char类型,能正确判断出ch为大写字母的表达式是(A)?A?<=CH<=‘Z’ B)(ch>=?A?)||(ch<=?Z?) C)(?A?<=ch) and (?Z?>=ch) D)(ch>=?A?)&&(ch<=?Z?)
二)if语句 例题:
1.有以下程序 main( )
{ int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3;
printf(%d,%d,%d,%d\\n,a,b,c,d); }
程序输出( D )
A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错
2.以下程序运行后的输出结果是 4599 main() {
int a=3,b=4,c=5,t=99;
if(b } D ) 三)switch语句 (1)switch的执行过程 (2)break的用法 例题: 1.#include { int x=1,y=1,a=0,b=0; switch(x) {case 1:switch(y) { case 0:a++; case 1:b++; case 2:b++;break; } case 2:a++;b++;break; case 3:a++;b++; } printf(“a=%d,b=%d\\n”,a,b); } 输出结果:a=1,b=3 2.#include main() {charc; while((c=getchar())!=’\\n’) {switch(c-‘1’) {case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; } printf(“\\n”); } } 输出结果: 6 45 34 1 四)算法 输入出租车里程S,输出应付车费F。 S和F的关系如下: 8?F???8?(S?3)*2S??3 S?3#include scanf(“%f”,&S); if(S<=3) F=8; else F=8+(S-3)*2; printf(“F=%f\\n”,F); } 四、循环结构 一)循环条件均以条件为真(非0)进行循环,以条件为假(0)结束循环) 例题: 1. 以下叙述正确的是(D ) A) do-while语句构成的循环不能用其它语句构成的循环来代替 B) do-while语句构成的循环只能用break语句退出 C) do-while语句构成的循环,在while后的表达式为非零时结束循环 D) do-while语句构成的循环,在while后的表达式为零时结束循环 2. 设有程序段: int k=10; while(k=0) k=k-1; 则循环体执行的次数为( C ) A)10次 B)9次 C)0次 D)1次 3. 下列( D ) 循环不是无限循环 A) for(y=0; x=1 ; ++y); B) for(; ; x=0); C) while (x=1) {x=1; } D) for(y=0,x=1;x> ++ y; x++) 二)三种循环的执行流程 例题: 1. 设变量y值为3,执行下列循环语句后,变量y的值的是(C ) do y++; while(y++<4); A)3 B)4 C)5 D)6 2. 执行语句for(I=1;I++<4;); 后变量I的值是( C ) A)3 B)4 C)5 D)0 三)循环嵌套的执行次数 例题: 1.#include “stdio.h” void main() { int I,j; for(I=0;I<=3;I++) { for(j=0;j