C语言1-5章复习题及参考答案
c语言1-4章习题答案
scanf("%d,%d,%d",&a,&b,&c);
temp=(a>b)?a:b; /*将a和b中的大者存入temp中*/
max=(temp>c)?temp:c; /*将a和b中的大者与c比较,取最大者*/
printf("三个整数的最大数是%d\n",max);
分别代表个位十位百位千位万位和位数printf请输入一个整数099999
1-4章习题
习题1-5
#include <stdio.h>
void main ( )
{ printf ("**************************\n\n");
printf(" Very Good!\n\n");
printf ("**************************\n");
}
习题4-7
#include <stdio.h>
#include <math.h>
void main()
{
long int num;
int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位,十位,百位,千位,万位和位数*/
C语言基础练习题(含答案)
第一章C语言基础知识
1.1 选择题
1. 以下不是C语言的特点的是()。
A、语言简洁紧凑
B、能够编制出功能复杂的程序
C、C语言可以直接对硬件操作
D、C语言移植性好
2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D.-_ok
3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?
4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3C.For D.2a define _123 -abc DO
WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。
A.int B.break C.while D.character
7.是C语言提供的合法关键字的是()。
A.Float B.signed
C.integer D.Char
8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int
9.一个C程序是由()。
A.一个主程序和若干子程序组成
B.一个或多个函数组成
C.若干过程组成
D.若干子程序组成
10. C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符
11.下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号
B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
c语言习题1-5章
C语言习题1-5章单项选择
1.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。
A:(exp==0)
B:(exp!=0)
C:(exp==1)
D:(exp!=1)
答案:B
2.putchar函数可以向终端输出一个()。
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量值
答案:D
3.C语言中运算对象必须是整型的运算符是()。
A:%=
B:/
C:=
D:〈=
答案:A
4.以下数据中,不正确的数值或字符常量是()。
A:8.9e1.2
B:10
C:0xff00
D:82.5
答案:A
5.一个C语言程序是由()。
A:一个主程序和若干子程序组成
B:函数组成
C:若干过程组成
D:若干子程序组成
答案:B
6.经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。
int x=1,y=2,z=3;
A:2
B:3
C:6
D:5
答案:C
7.若int a=2,则执行完表达式a-=a+=a*a后,a的值是()。
A:-8
B:-4
C:-2
D:0
答案:D
8.以下叙述中错误的是()。
A:可以通过typedef增加新的类型
B:可以用typedef将已存在的类型用一个新的名字来代表
C:用typedef定义新的类型名后,原有类型名仍有效
D:用typedef可以为各种类型起别名,但不能为变量起别名
答案:A
9.结构化程序由三种基本结构组成,三种基本结构组成的算法()。
A:可以完成任何复杂的任务
B:只能完成部分复杂的任务
C:只能完成符合结构化的任务
D:只能完成一些简单的任务
答案:A
《C语言程序设计》第1-9章基本概念练习题
第一单元(1-5章)基本概念练习题
一、单选选择(直接在正确的选项上打勾,每题)
1、下面关于C语言特点的描述,不正确的是( )。D
A、C语言兼有高级语言和低级语言的双重特点,执行效率高
B、C语言既可以用来编写应用程序,又可以用来编写系统软件
C、C语言是一种结构式模块化程序设计语言
D、C语言的可移植性较差
2、C语言规定,在一个源程序中,main函数的位置( )。B
A、必须在最开始
B、可以任意
C、必须在最后
D、必须在系统调用的库函数的后面
3、下列说法中正确的是( )。C
A、C程序书写时,不区分大小写字母
B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
D、C程序书写时每行必须有行号
4、C语言编译程序的首要工作是( )。A
A、检查C语言程序的语法错误
B、检查C语言程序的逻辑错误
C、检查程序的完整性
D、生成目标文件
5、C语言程序经过连接以后生成的文件名的后缀为( )。C
A、.c
B、.obj
C、.exe
D、.cpp
6、以下关于算法的说法中,错误的是( )。D
A、一个算法应包含有限个步骤
B、在计算机上实现的算法是用来处理数据对象的
C、算法的目的是为了求解
D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现
7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是( )。C
A、确定性
B、有穷性
C、零个或多个输出
D、零个或多个输入
8、以下不属于结构化程序设计三种基本结构之一的是( )。B
A、顺序
B、递归
C、循环
D、选择
9、下列数据中,不合法的C语言实型数据是( )。C
C程序设计1-5章测试题(答案版本)
C程序设计1-5章测试题(04级)
姓名____
一、选择题:(每题3分,共60分)
1、C语言提供合法的数据类型关键字是( d )
A)double B)short C)integer D)char
2、下列不属于字符型常量的是(b )
A)‘A’B)“B”C)‘\n’ D)‘D’
3、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 a 。
A)必须为字母或下划线。 B)必须为下划线。
C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。
4、若有定义:int a = 7; float x = 2.5 , y = 4.7 ;
则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是 d 。
A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000
5、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ( d)
A)2,1,2 B)2,0,3 C)2,2,3 D)2,1,3
6、下列运符中优先级最高的是( b )
A)&& B) ++ C) ?: D)!=
7、若x、I、j和k都是int型变量,则计算下面表达式后,x的值是( c )
x=(I=4,j=16,k=32)
A) 4 B) 16 C) 32 D) 52
8、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(b)
A) 7 B) 8 C) 6 D) 2
9、C语言规定:在一个源程序中,main函数的位置( c )
C语言习题参考答案1-5
《C语言》作业
第二章
2.4 用传统流程图表示求解以下问题的算法。
(1)有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现改盛酱油,B瓶则相反)。
解:显然,如果只有两个瓶子,肯定不能完成此任务,必须有一个空瓶C作为过渡。步骤如图2.4:
(2)依次将3个数输入,要求输出其中最大的数。
2.5 用N-S图表示2.4题中算法(2)。
第三章
3.5 字符常量和字符串常量有什么区别?
解:字符常量是一个字符,在程序中字符是用单引号括起来的。字符串变量是有0个或若干个字符组合而成,在程序中字符串是用双引号括起来,在存储时系统自动在字符串最后面加一个结束符号’\0’。
3.9 求下面算术表达式的值。
(1) x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
(2) (float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
解:
(1)2.5
(2)3.5
3.10 写出程序运行的结果
#include<stdio.h>
void main()
{
int i,j,m,n;
i=8; j=10;
m=++i; n=j++;
printf(”%d,%d,%d,%d\n”,i,j,m,n);
}
解:运行结果为:
9,10,9,11
3.12 写出下面赋值表达式运算后a的值,设原来a=12, n=5。a 和n都定义为整型变量。
(1) a+=a (2)a-=2 (3)a * =2+3
(4)a%=(n%=2 ) (5)a/=a+a (6)a+=a-=a*=a
算法与数据结构C语言习题参考答案1-5章
绪论
1.将下列复杂度由小到大重新排序:
A.2n B.n! C.n5D.10 000 E.n*log2 (n)
【答】10 000< n*log2(n)< n5< 2n < n!
2.将下列复杂度由小到大重新排序:
A.n*log2(n) B.n + n2 + n3C.24D.n0.5
【答】24< n0.5< n*log2 (n) < n + n2 + n3
3.用大“O”表示法描述下列复杂度:
A.5n5/2 + n2/5 B.6*log2(n) + 9n
C.3n4+ n* log2(n) D.5n2 + n3/2
【答】A:O (n5/2) B:O (n) C:O (n4) D:O (n2)
4.按照增长率从低到高的顺序排列以下表达式:4n2 , log3n, 3n , 20n , 2000 , log2n , n2/3。又n!应排在第几位?
【答】按照增长率从低到高依次为:2000, log3n, log2n , n2/3 , 20n , 4n2 , 3n。
n!的增长率比它们中的每一个都要大,应排在最后一位。
5. 计算下列程序片断的时间代价:
int i=1;
while(i<=n)
{
printf(“i=%d\n”,i);
i=i+1;
}
【答】循环控制变量i从1增加到n,循环体执行n次,第一句i的初始化执行次数为1,第二
句执行n次,循环体中第一句printf执行n次,第二句i从1循环到n,共执行n次。所以该程
序段总的时间代价为:
T(n) = 1 + n + 2n = 3n+ 1 = O(n)
6. 计算下列程序片断的时间代价:
C语言预习及课后习题(参考答案1-5)
第一章 C 语言概述
课前预习题
1.函数 2.main()函数 3.单行注释、块注释、//xxx 、* xxx*/ 4.函数首部、函数体
5.scanf () 6.函数调用 7.编译、连接 8.有穷性、确定性、有0到多个输入、有1到多个输出、有效性 课后习题
1. A 参考分析:C 语言总是从main 函数开始,main 函数结束。但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。如果不考虑exit(0)等函数的特殊作用,C 则总是在main 函数结束。
2. C 参考分析:C 程序对main 函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C 语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。因此,如果注释中存在错误,系统是不可能发现的。另外,C 语言的I/O 操作均通过函数实现,系统本身未提供相应的语句。
3. D 参考分析:C 语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。C 语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。
4. C
5. B 参考分析:通常许多语言程序由主程序和子程序构成,但是C 语言是函数式语言,整个程序由众多函数组成。尽管有时习惯上称main 函数为主程序,显然,严格地讲还是B 更为符合C 语言的规则。
6.C 7.B 8.C 9.C 10.C
11.绘制NS 算法流程图。
(1)输入10个数,求其中的最大值。 (2)输入3个数,将它们升序排列输出。
C语言1-5章复习题及参考答案
C语言1-5章复习题及参考答案
一.选择题
1、若a 为int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,
a 的值是()。
A .-3 B.9 C.-12 D.6
2、若有定义: int a=8, b=5, c; 执行语句 c=a/b+0.4; 后, c 的值为()。
A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main()
{
int i,sum;
for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum);
}
该程序的执行结果是()。
A .6
B.3
C 死循环
D.0
4、下列关于表达式的描述中,错误的是()。
6、若已定义x 和y 为double 类型,则表达式 x=1;y=( x+3)12的值是()
A .1
B.2
C.2.00000
D.2.50000 7、表达式: 10!=9 的值是()。
A . true B. 非零值 C.0 D.1
8、以下程序的输出结果是(
)。
#include void main () {
printf ("%d\n", NULL );
}
A . 不确定的 B.0
C.-1
D.1
9 、请选出合法的 C 语言赋值语句。()
A . a=b=58
B.i++;
C. a=58,b=58
D. k=int (a+b );
10、假设 int b=2;表达式(b?2)/(b>>1)的值是()。
A .0
B.2
C.4
D.8
11、关于语句 printf (“hello n ”,); 下列描述中错误的是()
A . printf ()是格式化输出函
《C语言程序设计》第1章 C语言概述练习题答案
第一章 C语言概述练习题
一、选择题
1.C语言是一种( )。
A) 机器语言B) 汇编语言C)高级语言D) 低级语言
2.下列各项中,不是C语言的特点是( )。
A)语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好
C) 能实现汇编语言的大部分功能D)有较强的网络操作功能
3.下列叙述正确的是()。
A)C语言源程序可以直接在DOS环境中运行
B)编译C语言源程序得到的目标程序可以直接在DOS环境中运行
C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行
D)Turbo C系统不提供编译和连接C程序的功能
4.下列叙述错误的是()。
A)C程序中的每条语句都用一个分号作为结束符
B) C程序中的每条命令都用一个分号作为结束符
C) C程序中的变量必须先定义,后使用
D)C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
5.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序文件的第一个函数开始,到本程序main函数结束
D) 本程序的main函数开始,到本程序文件的最后一个函数结束
6.以下叙述不正确的是()。
A)一个C源程序必须包含一个main函数
B) 一个C源程序可由一个或多个函数组成
C) C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
7.C语言规定:在一个源程序中,main函数的位置( ).
A)必须在程序的开头B)必须在系统调用的库函数的后面
C)可以在程序的任意位置D)必须在程序的最后
c语言习题册1-8章答案
第一章:(标记红色的为错误答案,参考老师评讲的答案)一、选择题:
1-5、CCCDB
6-9、ADDA
二、填空题:
1、函数一个函数函数
2、/* */
3、关键字预定义标识符用户标识符
4、b被赋值为10,或将10赋值给b
5、scanf() printf()
第二章
一、选择题:
1-5、ACCAD
6-10、DBBD B
11-15、D CCBC
16-20、CD B BB
21-25、ABCCC
26-30、ACABD
31-34、CA A C
二、填空
1、123.43
2、++、%、<、=
3、20<x&&x<30||x<-10
4、12
5、7
6、21
第三章
一选择题:
1-5、D ADBB
6-10、DBAAD
11-15、CACCA
16-19、BADC
二、填空题:
1、10241e
2、D
3、PB
4、3
5、无答案
第四章
一、选择题:
1-5、DBABA
6-10、DDDCC
11-15、BDCCB
16-20、AABAA
二填空题:
1、20<x&&x<30||x<-100
2、3
3、1
4、4599
5、20 10 1
6、9911
7、4,8,0
8、3
9、20,0
10、x<10 x>=1
11、10 12 2
第五章
一选择题:
1-5:AA B CA
6-10:CCAAA
11-15:DDCBA
16-20:BDABA
21-23:D AC
二、填空题
1、1
2、死循环
3、6
4、2
5、345
6、0
7、此题程序有误:应为:
main()
{int i,j;
for(i=0;i<=100;i++)
{if(i%3!=0||i%10!=4)continue;
第一章C语言复习题
1.C语言是计算机高级语言,它适合作为系统描述语言,它
(A) 不以用来编写系统软件,可以用来编写应用软件(B) 不以用来编写系统软件,不可以用来编写应用软件
(C) 可以用来编写系统软件,不可以用来编写应用软件(D) 可以用来编写系统软件,也可以用来编写应用软件
2.在纸上写好一个C语言程序后,上机运行的基本步骤为
(A) 编辑、连接、编译、运行(B) 编译、连接、编辑、运行
(C) 编译、编辑、连接、运行(D) 编辑、编译、连接、运行
3.用C语言等高级语言编写的程序称为
(A) 可执行程序(B) 编译程序
(C) 目标程序(D) 源程序
4.一个C语言源程序经过“编译程序”翻译后生成一个二进制代码文件,它的扩展名为
(A) .dat (B) .exe
(C) .c (D) .obj
5.通过“连接程序”软件,把C语言目标程序与C语言提供的各种库函数连接起来生成一个文件,它的扩展名为
(A) .exe (B) .dat
(C) .obj (D) .c
6.下面叙述中正确的是
(A) 在C语言程序中,要调用的函数必须在main()函数中定义(B) C语言程序总是从main()函数开始执行
(C) C语言程序总是从第一个函数开始执行(D) 在C语言程序中,main()函数必须放在程序的开始位置
7.一个C语言程序由
(A) 若干个过程组成(B) 若干个子程序组成
(C) 一个主程序和若干个子程序构成
(D) 一个主函数和若干个子函数构成
DDDDABD
算法与数据结构C语言习题参考答案1-5章
示:这样会将本来已经置逆的线性表又置逆回来,即又变成了原 来的表。)顺序表的置逆算法 void rev_seq(PSeqList palist){ DataType x; int count, i; if (palist->n == 0 || palist->n == 1) return; /*空表或只 有一个元素,直接返回*/ count = palist->n / 2; for ( i = 0; i < count; i++){ /*只需调换半个表的元素*/ x = palist->element[i]; palist->element[i] = palist->element[palist->n - 1 - i]; palist->element[palist->n - 1 - i] = x; } } 代价分析 该算法中包含一个 for 循环,其循环次数为 n/2。因此,算法的 时间代价为 O(n)。 4. 已知长度为 n 的线性表 A 采用顺序存储结构,请写一算法, 找出该线性表中值最小 的数据元素。 【答】 数据结构
p 所指结点的前驱结点,然后才能完成删除。而找 p 所指结点的 前驱结点,只能从单链表的第一个结点开始,使用与 locate_link 类似的方式进行搜索。 int deleteP_link(LinkList llist,PNode p){ /* 在 llist 带头结点的单链表中,删除 p 所指的结点*/ PNode p1; if(llist==NULL)return Null; p1=llist; while(p1!=NULL&&p1->link!=p)p1=p1->link; /*寻找 p 所指结 点的前驱结点*/ if(p1=NULL)return 0; p1->link=p->link; free(p); /* 删除结点 p */ return 1; } 8. 已知 list 是指向无头结点的单链表的指针变量,写出删除该 链表下标为 i 的(第 i+1 个)结点的算法。 【答】 数据结构 采用 2.1.3 节中单链表定义。 思路
C语言复习题及参考答案(处理)(1)
C语言复习题及参考答案(处理)(1)
C语言复习题
一、单项选择
1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int
4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统
6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码
7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序
8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159E C).5E-3D)E15
C语言1_6章复习题及答案
一、单项选择题
1、以下说法中正确的是(C)(2分)
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
2、以下选项中,不合法常量的是(B)(2分)
A、1.234e04
B、1.234e0.4
C、1.234e+4
D、1.234e0
3、C语言中最简单的数据类型包括(B)(2分)
A、整型、实型、逻辑型
B、整型、实型、字符型
C、整型、字符型、逻辑型
D、整型、实型、逻辑型、字符型
4、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)
A、 10>=a>=0
B、 a>=0 and a<=10
C、 a>=0||a<=10
D、 a>=0&&a<=10
5、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)
A、 6.500000
B、 6
C、 5.500000
D、 6.000000
6、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)
A、 INPUT x、y、z;
B、 scanf("%d%d%d",&x,&y,&z);
C、 scanf("%d%d%d",x,y,z);
D、 read("%d%d%d",&x,&y,&z);
7、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)
A、把x和y按从大到小排列
B、把x和y按从小到大排列
程序设计基础(C)第1——5章复习题答案
程序设计基础(C)
第1——5章复习题及参考答案
一、单选题
1.可以在C语言中使用的一组用户标识符是(C)。
A. 3B
B. KEY
C. _123
D. void
sizeof cl_c2 T3_al_ CHA T
DO -for scanf 6B
2.while(!x)中的!x与下面条件(A)等价。
A. x==0
B. x==1
C. x!=5
D. x!=0
3.增1减1运算只能作用于(B)。
A. 常量
B. 变量
C. 表达式
D. 函数
4.下面四个选项中,均是字符常量或数值常量的选项是(A)。
A. 0.0
B. “A”
C. …3‟
D. +001
0f 3.9E-2.5 011 0xabcd
8.9e 1e1 0xff00 2e3
…&‟ …\”‟ 0a 50.
5.下选项中正确的实型常量是(D)。
A. 0
B. 0.618*10^2
C. .871
D. 3.1415 6.C语言中运算对象必须是整型的运算符是(D)。
A. %= 与/
B. = 与&
C. * 与^
D. % 与|
7.设a=2,b=2;则++a+b的结果是( D),a的结果是( B ),b的结果是( A)。
A. 2
B. 3
C. 4
D. 5
9.下列运算符中优先级最低的是(B)。
A. +
B. &&
C. <=
D. sizeof
10.设int a=2;则表达式(a++*1/3)的值是(A),a的值是(D)。
A. 0
B. 1
C. 2
D. 3
11.字符数据在内存中的存储采用的是(D)。
A. 反码
B. 补码
C. EBCDIC码
D. ASCII码12.在C语言类型说明中,int、char、short等类型数据的长度是(D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.选择题
1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.6
2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。
A .1.4 B.1 C.2.0 D.2
3、有如下程序:
void main()
{
int i,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是()。
A .6 B.3 C.死循环 D.0
4、下列关于表达式的描述中,错误的是()。
A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。
D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A . '\t' B.” A” C.65 D.a
6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。
A .1 B.2 C.2.00000 D.2.50000
7、表达式:10!=9的值是()。
A . true B. 非零值 C.0 D.1
8、以下程序的输出结果是()。
#include
void main()
{
printf("%d\n", NULL);
}
A . 不确定的 B.0 C.-1 D.1
9、请选出合法的C语言赋值语句。()
A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);
10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。
A .0 B.2 C.4 D.8
11、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。
C. printf()括号中的内容会全部输出到控制台上。
D. \n表示换行操作。
12、下列选项中,哪一项不是C语言中的位运算符()。
A .& B.|| C.~ D.^
13、以下程序的输出结果是()。
void main()
{
char c='z';
printf("%c", c-25);
}
A .a B.Z C.z-25 D.y
14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A . a<>0 B. !a C. a=0 D. a
15、以下循环体的执行次数是()。
void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j--)
printf("%d\n",i);
}
A .3 B.2 C.1 D.0
16、下列运算符中优先级最高的是()。
A .|| B.&& C.+ D.=
17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 那么输出结果是()。
A .2,M B.3,E C.2,E D. 输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1; 那么执行后,c3中的值是()。
A .0 B.0.5 C.1 D.2
19、若变量a是int类型,并执行了语句:a='A'+1.6; 则下列描述中,正确的是()。
A . a的值是字符’C' B. a的值是浮点型
C. 不允许字符型和浮点型相加
D. a的值是字符’A’的ASCII值加上1
20、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是()
A . 最多执行10次B. 最多执行9次 C. 是无限循环 D. 循环体一次也不执行
21、假定有以下变量定义:int k=7,x=12; 那么能使值为3的表达式是()。
A . x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)
22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。
void main()
{
int x;
scanf("%d",&x);
if (x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
A . 7和5 B. 6和3 C. 7和4 D. 6和4
23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2 的值是()。
A . 1 B. 2 C. 2.0 D. 2.5
24、执行下面程序片段的结果是()。
int x=23;
do
{
printf("%2d",x--);
} while (!x);
A . 打印出321 B. 打印出23 C. 不打印任何内容 D. 陷入死循环
25、以下选项中合法的字符常量是()。
A . "B" B. '\010' C. 68 D. D
26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。
A . 101 B. 1 C. 11 D. 5
27、下列说法中正确的是()。
A . 在switch语句中一定要使用break语句
B. 在switch语句中不一定要使用break语句
C. break语句是switch语句的一部分
D. break只能用于switch语句中
28、假设有如下的变量定义:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是()。
A . a+=a-=(b=4)*(a=3) B. x%(-3)
C. a=a*3=2
D. y=float(i)