C语言期中测试题(含答案)
C语言测试题及答案
C语言测试题及答案
C语言测试题及答案
古今来许多世家,无非积德。天地间第一人品,还是读书。以下是店铺为大家搜索整理的C语言测试题及答案,希望能给大家带来帮助!
C语言测试题及答案篇1
1.(A )是构成C语言程序的基本单位。
A、函数
B、过程
C、子程序
D、子例程
2.C语言程序从 C 开始执行。
A、程序中第一条可执行语句
B、程序中第一个函数
C、程序中的main函数
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
5~8题为相同类型题
考点:标识符的命名规则
只能由字母、数字、下划线构成
数字不能作为标识符的开头
关键字不能作为标识符
选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)
6.下列C语言用户标识符中合法的是(B )。
A、3ax
B、x
C、case
D、-e2 E)union
选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);
C语言编程测试题(含答案)
《C语言程序设计》阶段性考核(90分钟)学号__________ 姓名_________ 得分_________
程序设计题(本大题共7小题,选5题完成,3、5题必选,共100分)
注意:将在vc++中调试通过的代码复制到每题“程序代码”下面,然后提交本文档即可,文档命名为“姓名.doc”,如张文.doc
1、求出 10 到100内能同时被
2、
3、7整除的数,并输出。
程序代码:
#include"stdio.h"
void main()
{//求出 10 到100内能同时被2、3、7整除的数,并输出
int i;
for(i=10;i<=100;i++)
{if(i%2==0&&i&3==0&&i%7==0)
printf("%d ",i);
}
}
2、输出Fibonacci 数列1,1, 2,3, 5, 8, 13……前42个数,并以每行5个数方式输出。程序代码:
#include"stdio.h"
void main()
{
//输出Fibonacci 数列1,1, 2,3, 5, 8, 13……前42个数,并以每行5个数方式输出。long int f[42];
int i;
f[0]=f[1]=1;
for(i=2;i<42;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<42;i++)
{if(i%5==0) printf("\n");
printf("%10d",f[i]);
}
}
3、编写程序,输入一个3×3的矩阵,求两个对角线元素中的最大值
程序代码:
#include"stdio.h"
《高级语言程序设计》期中测试题(答案)
学院通信与信息工程学院姓名学号选课号《高级语言程序设计》期中测试题(答案)
一、选择题(共20题)
(1)下列标识符中,合法的是 D 。
A) unsigned B) 5ab C) INT# D) _num2
(2)下面错误的初始化语句是 D 。
A. char str[] = "hello";
B. char str[100] = "hello";
C. char str[] = {'h','e','l','l','o'};
D. char str[] = {'hello'};
(3)用C语言编写的代码程序 B 。
A. 可立即执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
(4)有定义语句:int b; char c[10];,则正确的输入语句是 B 。
A. scanf("%d%s", &b, &c);
B. scanf("%d%s", &b, c);
C. scanf("%d%s", b, c);
D. scanf("%d%s", b, &c);
(5)以下关于switch语句和break语句的描述正确的是 D 。
A. switch语句中必须使用break语句
B. break语句只能用于switch语句体
C. break语句只能用于循环语句
D. switch语句中可以使用break语句
(6)C语言中运算对象必须是整型的运算符是 A 。
A. %=
B. /
C. =
D. <=
(7)假定a和b为int型变量,则执行以下语句后b的值为 D 。
a=1; b=10;
do{
b -= a;
a++;
大一计算机专业C语言期中测试试题
《程序设计基础》期中考试试卷
班级姓名学号
一、填空题(每题1分,共5分)
1.上机运行C程序大致分四个步骤,分别是编辑、编译、和运行。
2.结构化程序设计方法的基本思想是自顶向下,逐步细化,和结构化编码。
3.C语言的控制结构有:顺序结构、和循环结构。
4.算法特点包括确定性、可行性、输入、输出和
5. 77的2字节补码是,-77的2字节补码表示为(用十六进制表示)
二、选择题(每题1分,共15分)
1.判断下面标识符中哪个是C语言中合法的用户定义标识符()
A. 2a1b
B. a%bd
C. _123
D. char
2.设有以下定义
int a=0; double b=1.25; char c=‟A‟; #define M 2
则下面语句中错误的是( )
A. a--;
B. b--;
C. c--;
D. M--;
3.有两条语句:static char x[]=”abcde”;
static char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟};
则下列说法中正确的是( )
A. 数组x和数组y长度相同
B.数组x长度大于数组y长度
C. 数组x长度小于数组y长度
D. 以上三种说法均错误;
4.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()
A. 17.333
B. 17
C. 0
D. 2
5. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).
A. 1,2
B. 1,3
C. 2,2
D. 2,3
6.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):
浙江大学 C语言期中测试题及答案_陈建海
B) 2 4
C) 3 4
D) 2 3
B) 循环体将执行无限次 D) 系统将提示有语法错误
B) 10
C) 8
D) 11
B) a>9&&a<13 D) !(a>=10)||!(a<=12)
B) 1 10
C) 19 10
D) -2 11
C 语言理论基础综合测试(陈建海老师班)
熊熊看星星整理
本次测验个别题目存在问题(未定义的行为即结果与具体编译器相关),这类题目统一给 分。(ps:本次测验占 3 分) 问题普及: 序列点是程序执行序列中一些特殊的点。 当有序列点存在时,序列点前面的表达式必须求 值完毕,并且副作用也已经发生, 才会计算序列点后面的表达式和其副作用。 什么是副作用?举例子来说明。 int a = 5; int b = a ++; 在给 b 赋值的语句中,表达式 a++就有副作用,它返回 a 当前的值 5 后,要对 a 进行加 1 的操作。 ","会生成序列点。&&和||会产生序列点。?:中的"?"会产生序列点。函数会产生序列点。 C 标准规定:两个序列点之间的执行顺序是任意的。 当然这个任意是在不违背操作符优先 级和结合特性的前提下的。 这个规定的意义是为编译器的优化留下空间。 a+=a-=a*=a 这类表达式在 c 语言中实则是不合法的,在 1 个表达式(其实应该是 2 个序列点 之间),1 个的变量值发生多次变化,其行为是未定义的,不同编译器有不同的处理,比如 这里根据运算符优先级和结合方向应该是从右到左的,那么在计算完 a*=a 的时候 a 的值发 生了变化,称为副作用,在计算 a-=的时候仍在 2 个序列点之间,C 语言没有规定这个副作 用什么时候生效,即 a 的值在计算 a-=的时候 a 可能为改变的值也可能为初值。所以这道题 目的答案不一定,但是大部分教材中会看到这类表达式(我们的教材中也有 a^=b^=a^=b), 它们计算时会使用改变后的值,即在计算 a-=的时候 a 的值已经改变,答案为 0。 在函数表达式里 printf("%d,%d,%d", x++, y--, (x,y))也一样,在求(x,y)时由于有 x++的存在, 副作用生效时间不确定,值与具体编译器相关。
c语言期中测试
线封密
《c语言期中测试》试卷
一、单选题(每题1分,共80分)
1、以下程序的正确运行结果是______。
#include <stdio.h>
void num()
{ extern int x,y ; int a=15,b=10;
x=a-b;
y=a+b;
}
int x,y;
main()
{ int a=7,b=5;
x=a+b;
y=a-b;
num();
printf("%d,%d\n",x,y);
}
A、1,12
B、不确定
C、5,25
D、12,2
参考答案:C
2、以下正确的函数定义形式是______。
A、double fun(int x,int y);
B、double fun(int x;int y)
C、double fun(int x,int y)
D、double fun(int x,y);
参考答案:C
3、在C语言程序中______。
A、函数的定义和函数的调用均不可以嵌套
B、函数的定义可以嵌套,但函数的调用不可以嵌套
C、函数的定义和函数的调用均可以嵌套
D、函数的定义不可以嵌套,但函数的调用可以嵌套
参考答案:D
4、以下对C语言函数的有关描述中,正确的是______。
A、C程序中,有调用关系的所有函数必须放在同一个源程序文件中
B、C函数既可以嵌套定义,又可以递归调用
C、函数必须有返回值,否则不能定义成函数
D、调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
参考答案:D
5、决定c语言中函数返回值类型的是______。
A、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)
C语言测试考试题
C语言测试考试题
一选择题(28分,每小题2分)
1.C语言源程序的基本单位是(B )。
A 过程
B 函数
C 子程序
D 标识符
2.下列程序的输出结果是(C)。
main( )
{
int a=7,b=5;
printf("%d\n",b=b/a);
}
A 5
B 1
C 0 D不确定值
3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。
A 7
B 8
C 9
D 2
````4.设a为int型变量,执行下列赋值语句后,a的取值分别是(B)。
a=125.534; a=(int)125.521%4; a=5<<2;
A 125,31,1
B 125,1,20
C 125,31,20
D 125.534,2,20
5.设有如下程序段,下面描述中正确的是(C)。
int k=10; while(k=0) k=k-1;
A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
``````6.以下程序的输出结果为(A)。
int i;
void prt( )
{ for(i=5;i<8;i++) printf("%c",'*');
printf("\t");
}
main( )
{ for(i=5;i<=8;i++) prt( );
}
A ***
B *** *** *** ***
C *** ***
D * * *
7.在C语言程序中,以下说法正确的是(B)。
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可以嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用都不可以嵌套
C语言编程测试题及答案
一、选择题:
1.设i为整型变量,原来i=3,执行语句printf("%d",-i++)后i的值为:
A.3 B.-3 C.4 D.-4
2.设i、j为整型变量,原来i=3,j=5,执行语句printf("%d",i+++j)后j的值为: A.4 B.5 C.8 D.9
3.若有定义int a[9],*p=a;,则p+5表示:
A.数组元素a[5]的值 B.数组元素a[5]的地址
C.数组元素a[6]的地址 D.数组元素a[0]的值加上5
4.以下程序段中与语句 k=a>b?(b>c?1:0):0; 功能等价的是:
A. if((a>b)&&(b>c))k=1;
B. if((a>b)||(b>c))k=1;
else k=0; else k=0;
C. if(a<=b)k=0;
D. if(a>b)k=1;
else if(b<=c)k=1; else if(b>c)k=1;
else k=0;
5.设有以下定义 #define d 2
int a=0; double b=1.25; char c=’A’;
则下面语句中错误的是
A. a++
B. b++
C. c++
D. d++ 注:需要逻辑0或非0在main函数中。
6.设a为整型变量,原来a=10,表达式a=--a+a--运算后a的值为:
A.16 B.17 C.18 D.19
7.设有定义 float a=2, b=4, h=3;
则以下语句表达式中与代数式1/2(a+b)h计算结果不相符的是
A.(a+b)*h/2
C语言在线测试题目及答案
C语言在线测试题目及
答案
SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-
第一章、第二章、第三章
第一题、单项选择题(每题1分,5道题共5分)
1、在以下关于C语言的叙述中,正确的说法是: B
A、C语言比汇编语言快
B、C语言比BASIC语言快
C、C语言比BASIC语言和汇编语言都快
D、C语言比BASIC语言慢
2、在C语言中,不正确的常量是: B
A、0xf6
B、0876
C、.5e-6
D、 3e 2
3、属于低级语言的计算机语言是( )。 B
A、机器语言
B、汇编语言
C、Java语言
D、Pascal语言
4、对于链接,正确的说法为()。 D
A、链接是将源程序和库函数链接到一起,生成可执行程序。
B、链接是将源程序、目标程序和其他源程序链接到一起,生成可执行程序。
C、链接是将源程序、库函数和其他源程序链接到一起,生成可执行程序。
D、链接是将目标程序、库函数和其他目标程序链接到一起,生成可执行程序。
5、下列不能表示常量大写英文字母A的是()。 B
A、常量:‘A’
B、常量:“A”
C、常量:‘\x41’
D、常量:‘\101’
第二题、多项选择题(每题2分,5道题共10分)
1、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是: BCD
A、1111 1111 1111 1000
B、1000 0000 0000 0000
C、1000 0000 0000 1000
D、1111 1111 1111 0111
2、下列关于C语言用户标识符的叙述中,不正确的叙述是: ACD
C语言期中测试(含答案)
C语言期中测试
(开卷测试,答案写在白纸上)
一.选择题
(1)C语言源程序名的后缀是
A).exe B).C C).obj D).cpp
(2)以下选项中,合法的一组C语言数值常量是
A)028 B)12. C).177 D)0x8A
5e-3 0Xa23 4c1.5 10,000
-0xf 4.5e0 0abc 3.e5
(3)以下正确的字符串常量是
A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是
A)4.3 B)4.8 C)3.3 D)3.8
(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定
(6)以下叙述中错误的是
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
(7)以下叙述中错误的是
A)C语言源程序经编译后生成后缀为.obj的目标程序
B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
(8)以下数组定义中错误的是
A)int x[][3]={0};
C语言期中复习题
清华大学《计算机语言与程序设计》
秋季学期模拟练习题1
测试说明:
1.本上机编程,可参考各书面资料,所有练习题均采用键盘输入和屏幕输出,希望总时间限制为120分钟。
2.本题目为模拟训练题目,不是考试题目,仅供大家模拟训练自己的编程速度。
注意事项:
3.请大家特别注意以下提示:
●需要提交单一Word文档;
●Word文档以学号作为名称;
●Word文档中需按照顺序提供源程序与运行结果截图。
●为防止程序被意外破坏,建议在E或者F盘中创建自己的编程目录,并做好备
份。
4.// 评分时将查看源程序,请遵守题目中给出的限制。
以下为上机编程练习题目:
0、自我介绍题(本题必做)
请在屏幕上输出你的学号和姓名,各占一行。
1、不定解方程(希望15分钟内完成)
编写程序,求出方程2009=11x+19y+501z的所有正整数解。
输出格式要求:每行输出四组解,每组解之间保留一空格,每组解要用()括起来,每组解中各个解之间用逗号分隔,并且不同行、相同列的解要上下对齐。如下图示意(注,这不是方程的解)
2、正整数特殊排序(希望25分钟内完成)
有200个4位正整数。要求编写程序按每个数的后三位的大小进行降序排列,然后取出满足此条件的前20个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后把结果数组b输出到屏幕。
例:一个含有5个4位正整数数组,处理前为:9012 5099 6012 7025 8088
处理后将5个数依次输出顺序为:5099 8088 7025 6012 9012 要求使用如下的200个4位正整数:
C语言程序设计期中测试(参考)
C语言程序设计期中测试(参考)
C 语言程序设计期中测试题姓名_______ 学号________
一、选择题:(单选, 1分/题, 共20分)
1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是
A) 3 B) 4 C) 11 D) 12
2. 下列变量定义中合法的是
A) double _a=1-.le-1; B) int b=1+5e2.5; C) long do=3e5; D) float
2_and=1-e-3;
3. 设 int x=1, y=1; 表达式( !x||y-- )的值是
A) 0 B) 1 C) 2 D) –1
4. 若变量已正确定义并赋值,下面符合C语言语法的表达式是
A) a:=b++ B) b=2++ C) int 18.5%3 D) a+=c+b
5. C语言中运算对象必须是整型的运算符是
A) <= B) / C) = D) %=
6. 设有说明语句:char a=’\72’; 则变量a
A) 说明不合法 B) 包含2个字符 C) 包含3个字符 D) 包含1个字符
7. 以下所列的C语言常量中,错误的是
A) 0xFF B )1.2e0.5 C ) 2L D ) '\t'
8. 下列选项中,可作为C语言变量名是
A) y-3 B ) 4_x C ) include D ) x1..
9. 若int a=3; 则执行完表达式a+=a-=a*a后,a的值是
A)-3 B )9 C )-12 D )6
10. 在C语言中,合法的长整型常数是
A) 12L B) x496271 C) 324562& D) 216D
C语言测试试题及答案
C语言测试试题及答案
一个爱书的人,他必定不致于缺少一个忠实的朋友,一个良好的老师,一个可爱的伴侣,一个温情的抚慰者。以下是为大家搜索的测试试题及答案,希望能给大家带来帮助!更多精彩内容请及时关注我们!
1.
#include "stdio.h"
main()
{char c;
c=getchar();
while(c!='?') {putchar(c);c=getchar(); }
}
如果从键盘输入abcde?fgh(回车)
运行结果为:abcde
2.
#include
main()
{ char c;
while((c=getchar())!=’$’)
{ if(‘A’<=c&&c<=‘Z’)putchar(c);
else if(‘a’<=c&&c<=‘z’)putchar(c-32);}
}
当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD
3.
#include
main()
{ int x, y =0;
for(x=1;x<=10;x++)
{ if(y>=10)
break;
y=y+x;
}
printf(“%d %d”,y,x);
}
运行结果为:10 5
详见教材p120for语句
详见教材p126~128break,continue语句
for( 表达式1;表达式2;表达式3)
{
}
(1) 先求解表达式1
(2) 求解表达式2,假设其值为真,执行循环体,然后执行
(3). 假设为假,那么完毕循环,转到(5)
(3) 求解表达式3
(4) 转回上面 (2)继续执行
(5) 循环完毕,执行for语句下面的一个语句
break ,跳出循环体;continue,完毕本次循环(第i次循环),继续执行下一次循环(第i+1次循环)
C语言题目及答案.
C语言题目及答案.
目录
1.Climb the Taishan Mountain(II)
2.Peach
3.逆序输出数列
4.逆序数
5.计算高度
6.分解质因数
7.输出数字
8.Problem B:数字之和
9.换零钱
10.素数求和
11.求阶乘和
11.Problem F:求一批正整数中的偶数和
12.统计各种字符个数
13.求最大公约数
14.求最大公约数
15.零起点学算法101——统计字母数字等个数
16.网站泄密
17.老外买瓷砖
18.堆瓷砖
19.新年大酬宾
20.定制瓷砖
21.句子比较大小
22.鹦鹉学舌3——C语言初学者百题大战之十三
23.鹦鹉学舌2——C语言初学者百题大战之十二
24.百鸡问题
25.零起点学算法89——程序设计竞赛
26.零起点学算法89——程序设计竞赛
27.Problem A:计算数列和
28.找钱问题
29.Median
30.素月
31.输入任意N个数,求和
32.多项式求和
33.人口问题
34.数字菱形
Climb the Taishan Mountain(II)
Time Limit:1000MS Memory Limit:65536K
Total Submit:753 Accepted:495
Description
Labor day is coming.Since the holiday is long,Many students are planning to have a tour. The Taishan Mountain is very beautiful, so WangPeng and his classmates want to climb the Taishan Mountain. Mountaineering sports is WangPeng's avocation, so he is very excited. Suddenly, a very amusing idea comes to him. The Taishan Mountain has many stairs, and he can climb the mountain one step by 2 stairs or by 1 stairs. How many ways does he have to climb the mountain? For example, the stairs is 2, he has 2 ways.The first one is the first step by 1 stair, and the next step by 1 stair.And the second way is only one step by 2 stairs.
C语言期中测试A卷
一、选择题 ( 15×2分 = 30分)
1. 若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c 大于0)
s = a;
for( b=1; b<=c ; b++) s = s+1; 则与上述程序段功能等价的赋值语句是 。
A. s=a+b;
B. s=a+c;
C. s=s+c;
D. s=b+c; 2. 以下选项中不能用作变量名的是 。
A._float B.switch C.sum D._123
3. 若有说明:int a[10];则对数组元素的正确引用是 。
A.a[10] B.a[3.5] C.a(5)
D.a[10-10]
4. 若有声明“float f=123.45678;”,则执行语句“printf( "% .0f",f );”后,输出结果是 。
A. 123
B. 1.23e+02
C. 123.0
D. 123.456780 5. 数学式a b
2在C 程序中错误的表示形式为 (5) 。
A. 2*b/sqrt(a) B.(2*b)/sqrt(a)
C. 2b/sqrt(a) D.2*(b/sqrt(a))
6. 若a, b, c 均为int 型变量且有值,要交换变量a 和b 的值,正确的是 。
A.c=a, a=b, b=c; B.a=b; b=a;
C.c=a; a=b; b=c ; D.c=a; b=a; a=c;
7. 若有声明“char str[ ]="Hello!";”,则sizeof(str)的值是 。
A.8 B.7 C.6 D.1 8. 以下叙述中正确的是 。
大连理工大学C语言期中测试模拟题4
大连理工大学C语言期中测试模拟题4
一、选择题
1.下列关于单目运算符++、--的叙述中正确的是( )。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是任何变量和常量
C、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
D、它们的运算对象可以是char型变量、int型变量和float型变量
2.执行下列程序后,其输出结果是()。
main()
{int a=9;
a+=a-=a+a;
printf("%d\n",a);
}
A、18
B、-9
C、9
D、-18
3.打印语句printf("sTUDEND\bT\rS");在屏幕上正确的输出形式是( ).
A、sTUDENDS
B、TUDENTS
C、STUDENT
D、sTUDENTS
4.已知键盘输入a=4,b=3,下面程序输出的结果是( ).
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s=s*s;
printf("%d\n",s);
}
A、9
B、13
C、16
D、15
5.若给定条件表达式(m)?(a++):(a--),则其中表达式m()。
A、和(m==0)等价
B、和(m!=0)等价
C、和(m==1)等价
D、和(m!=1)等价
6.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。
A、3
B、5
C、4
D、不定
7.以下描述中正确的是()。
A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空
1.C 语言源程序文件的后缀是 .c 。
2.结构化程序由 顺序结构 、 选择结构 、 循环结构 三种基本结构组成。
3.在C 语言中,用关键字 int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字 float 定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。
二、选择
1. 以下选项中正确的实型常量是( A )
A .12.
B .-20
C . 1,000
D . 4 5 6
2.以下选项中不正确的实型常量是(无正确答案)
A . 2.607E-1
B .0.8103e2
C . -77.77
D . 456e-2
3. 以下选项中不合法的用户标示符是( C )
A. _123 B .A12_1 C . A $ D .Dim
4.C 语言中运算对象必须是整型的运算符是( A )
A .%
B ./
C .!
D .*
5. 若变量已正确定义并赋值,符合C 语言语法的表达式是( B )
A .a=a+7 ;
B .a=7+b+c,a++
C . int(12.3%4)
D .a=a+7=c+b
6.下面合法的赋值语句是( C )
A .a=b=58
B .k=int(a+b)
C . a=58,b=58
D .--i
7.若变量已正确定义为int ,要给a,b,c 输入数据,正确的输入语句是( D )
A .read(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)
8.若变量a,b,t 已正确定义,要将a 和b 中的数进行交换,以下选项中不正确的语句组是( C )
A .a=a+b,b=a-b,a=a-b;
B . t=a,a=b,b=t;
C .a=t;t=b;b=a
D .t=b;b=a;a=t;
9.若有正确定义语句:
double x=5.16894;
语句printf(“%f\n ”,(int)(x*1000+0.5)/(double)1000);的输出结果是( D )
A .输出格式说明与输出项不匹配,输出无定值
B .5.170000
C .5.168000!
D .5.169000
10. 若有以下程序段:
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\\n ”,a,b,c);
执行后的输出结果是( B )
A .3,0,-10
B .0,0,5
C .-10,3,-10
D .3,0,3
11.下列运算符中优先级别最高的是( A )
A . !
B .%
C .-=
D .&&
12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )
A .(x>=y)&&(y>=z)
B .(x>=y)AND(y>=x)
C .(x>=y>=z)
D .(x>=y)&(y>=z)
13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是
( D )
A.a&&b B.a<=b C.a||b+c&&b-c D.!((a
#include
main()
{ int a=2,b=-1,c=2;
if(a
if(b<0)
c=0;
else
c+=1;
printf(“%d\n”,c);
}
程序的运行结果是( C )
A.0 B.1 C.2 D.3
15.有以下程序:
#include
main()
{ int w=4,x=3,y=2,z=1;
printf(“%d\n”,(w } 程序的运行结果( A ) A.1 B.2 C.3 D.4 16.有以下程序: main() {int a,b,s; scanf(“%d %d”,&a,&b); s=a; if(a s=b; s*=s; printf(“%d\n”,s); } 若执行以上程序时从键盘上输入3和4,则输出结果是( B ) A.14 B.16 C.18 D.20 17.有以下程序段: y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是( C ) A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x y B .⎪⎩ ⎪⎨⎧>=-<=)0(0)0(1)0(1x x x y C .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x y D .⎪⎩ ⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y 18.若有定义语句int a, b ;double x ;则下列选项中正确的是( C ) A .switch (x%2) B .switch ((int )x/2.0) {case 0: a++; break; {case 0: a++; break; case 1: b++; break; case 1: b++; break; default : a++; b++; default : a++; b++; } } C .switch ((int )x%2) D .switch ((int )(x )%2) {case 0: a++; break; {case 0.0: a++; break; case 1: b++; break; case 1.0: b++; break; default : a++; b++; default : a++; b++; } } 19.有以下程序段: int k,j,s; for(k=2;k<6;k++,k++) { s=1; for(j=k;j<6;j++) s+=j; } printf(“%d\n ”,s); 程序段的输出结果是( D ) A .9 B .1 C .11 D .10 20.有以下程序段: int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; printf(“%d\n ”,m); 程序段的输出结果是( C ) A .12 B .15 C .20 D .25 21.有以下程序段: int n=10; while(n>7) { n--; printf(“%d\n ”,n); }