C语言习题讲解

合集下载

C语言练习题及其答案

C语言练习题及其答案

C语言练习题及其答案C语言练习题及其答案C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言能以简易的方式编译、处理低级存储器。

下面是店铺帮大家整理的C语言练习题及其答案,仅供参考,大家一起来看看吧。

C语言练习题及其答案1一、选择题(7分,每小题0.5分)1.C语言源程序的基本单位是(B)。

A过程 B函数 C子程序 D标识符2.下列程序的输出结果是(C)。

main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。

A 7B 8 C9 D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是(C)。

int k=10;while(k=0) k=k-1;A循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。

A p="abcd";B a="abcd";C *p="abcd";D *a="abcd";13.设有以下程序段,则值为6的表达式是()。

struct st { int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,0},*p;p=&a[0];A p++->nB ++p->nC p->n++D (*p).n++14.C语言中的文件类型只有()。

二级c语言程序设计习题及解答ch1-3

二级c语言程序设计习题及解答ch1-3

12)计算机能直接执行的程序是(B )。

A)源程序B)目标程序C)汇编程序D)可执行程序13)以下叙述中正确的是( D )A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整例年真题:#include<stdio.h>main(){Int a;A=5; /*给A变量赋值5A+=3; 再赋值后再加3*/Printf(“%d”,a);}(11)以下叙述中正确的是( C )。

A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D)C 语句必须在一行内写完(11)以下叙述中正确的是( C )A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中,能用作用户标识符的是( C )A)voidB)8_8C)_0_D)unsigned【解析】A:关键字不可以B:不以数字开头C:正确D:关键字(13)以下选项中合法的标识符是( C )A)1-1 B)1—1C)-11D)1—【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符(14)以下选项中不合法的标识符是( C )A)print B)FOR C)&a D)_00【解析】C:出现非法字符&(15)以下选项中,能用作数据常量的是( D )A)o115 B)0118 C)1.5e1.5D)115L【解析】A:八进制以0开头而不是以o开头B:八进制最大值为7,范围0-7 C:指数必须为整数D: 长整型正确(13)以下选项中不能作为C语言合法常量的是(A)。

A)'cd'B)0.1e+6 C)"\a" D)'\011'【解析】A:字符常量只能有一个字符(16)以下选项中不属于字符常量的是( B )A)'C'B)"C"C)'\xCC0' D)'\072'【解析】B:字符常量以单引号作为标志,其为字符串(14)表达式:4-(9)%2的值是( B )A)0B)3C)4D)5【解析】(9)%2=1(取余),4-1=3(14)设变量已正确定义并赋值,以下正确的表达式是 ( C )A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0【解析】A:等号左边必须为变量,不可以为表达式,y*5是表达式B:%只适用于整型变量D: %只适用于整型变量(15)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )A)-20B)-10C)0D)10【解析】先算右边得20,x-=20,则10-20=-10(14)设有定义:int x=2;,以下表达式中,值不为6的是 ( D )A) x*=x+1 x=x*(x+1)B) x++,2*xC)x*=(1+x)D)2*x,x+=2【解析】逗号表达式的最终结果看最后一个表达式,x+=2,结果为4(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 (A)A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;【解析】等号左边必为变量,不能为常量或数字排除C 、D,%只能用于整数排除B第三章输入输出习题讲解(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是(A)A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是(D)A)0,0B)1,0C)3,2D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是(A )A)123.141593B)123.141593C)12,3.141593D)12 3.141593【解析】“%d%8.6f”原样输出,没有,也没有空格,所以x与y相连,小数总共8位,小数点之后6位#include <stdio.h>main(){double a=123.456;printf("%6.2f",a);}结果:123.46例题:int x;x=11/3;int y=5;printf("%%d,%%%d\n",x,y); 结果是:%d,%3【解析】"%%d,%%%d\n"原样输出,%%d中第一个%为转义字符,不是输出占位符,所以原样输出%d,然后%%转义只输出一个%,%d\n只有一个占位符,所以只输出x的值为3[3.5] 若变量已正确说明为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);【解析】scanf中赋值必须用&(取地址符),即将输入的字符放在指定位置中[3.6] 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c 赋予33,以下不正确的输入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 3333scanf(“ %f %f %f” ,&a,&b,&c);【解析】输入时可以空格可以回车,但是不可以出现,复合语句:多个语句被{}括起来,当成一条语句来执行。

c语言入门经典 第5版 习题答案

c语言入门经典 第5版 习题答案

c语言入门经典第5版习题答案C语言入门经典第5版习题答案C语言是一门广泛应用于计算机科学领域的编程语言,它的应用范围非常广泛。

对于初学者来说,掌握C语言的基础知识是非常重要的。

而《C语言入门经典第5版》是一本非常经典的教材,它提供了大量的习题供学习者练习。

本文将为大家提供一些《C语言入门经典第5版》习题的答案,希望能够帮助读者更好地理解和掌握C语言的基础知识。

1. 编写一个程序,输出"Hello, World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 编写一个程序,输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```3. 编写一个程序,输入一个正整数n,然后计算并输出1到n之间所有整数的和。

```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个正整数:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和是:%d\n", n, sum);return 0;}```4. 编写一个程序,输入一个正整数n,然后计算并输出1到n之间所有偶数的和。

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。

课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。

```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。

C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案)

C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。

在学习这门课程过程中,习题的练习和掌握是至关重要的一环。

本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。

第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。

答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。

答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。

C语言习题答案全解

C语言习题答案全解

4.7用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=1.5,y=3.75,z=67.8,请问 在键盘上如何输入数据? scanf("%5d%5d%c%c%f%f%*f %f",&a,&b,&c1,&c2,&y,&z); 解: main() { int a,b; float x,y,z; char c1,c2; scanf("%5d%5d%c%c%f %f %*f ,%f",&a,&b,&c1,&c2,&x,&y,&z); } 运行时输入: _ _ _ 10 _ _ _ 20Aa1.5-3.75 _ 1.5,67.8 注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再 打入10与20。%*f是用来禁止赋值的。在输入时,对应于%*f的地方, 随意打入了一个数1.5,该值不会赋给任何变量。
P55 算术运算 3.9求下面算术表达式的值. 符 (1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)
(2)(float)(a+b)/2+(int)x%(int)y=3.5(设a=2,b=3,x=3.5,y=2.5)
/ (除法运算符。如:5/3) 除号两边为整型则结果为整型 % (模运算符,或称求余运算符,%两侧均应为整型数据, 如:7%4的值为3)。 正负号取决于被除数符号 -7%4的值为-3, -7%(-4)的值仍为-3
4.8设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积, 圆柱体积,用scanf输入数据,输出计算结果,输出时要求有文字说明,取 小数点后两位数字.请编程. 解:main() { float pi,h,r,l,s,sq,vq,vz; pi=3.1415926; printf("请输入圆半径r圆柱高h:\n"); scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r*r; vz=pi*r*r*h; printf("圆周长为: =%6.2f\n",l); printf("圆面积为: =%6.2f\n",s); printf("圆球表面积为: =%6.2f\n",sq); printf("圆球体积为: =%6.include<stdio.h> void main() { int c1,c2;(原为 char c1,c2) c1=97; c2=98; printf("%c%c\n",c1,c2); printf("%d%d\n",c1,c2); } 解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.

C语言程序设计(李刚 第3版)教案 11--15 习题2--习题3

一、习题要求习题题型:判断题、选择题、填空题、编程题。

习题要求:通过独立的分析、小组合作、教师指导,要求所有学生掌握本次习题,期末考试占70机二、习题讲解(1)判断题8、流程图中用菱形符号表示条件判断。

( )9、SCanf函数功能是通过输入设备为变量输入数据。

( )10、函数PUtChar()的作用是:输入一个字符。

( )(2)选择题14、以下不属于算法基本特征的是( )。

A、有穷性B、有效性C、可靠性D、有一个或多个输出15、设有定义“inti=1;",以下选项的四个表达式中与其他三个表达式的值不相同的是OA、i++B、i+=1C、i+1D、++i16^定义一整型变量intm,给m输入数值,正确的语句为( )。

Asscanf(,z%d zz,m);B、SCanf("%d",&m);C、printf(,z%d zz,m);D、putchar(m);17、以下程序的输出结果为( )。

main(){inta=2,b=5;printf(,,a=%d,b=%d∖n,z,a,b);)A、a=%2,b=%5B、a=2,b=5C^a=d,b=dD^2,518、以下叙述正确的是()。

A、getchar()函数用于输入一个字符串B、getchar()函数用于输入一个字符C、PUtChar()函数用于输入一个字符D、PUtChar()函数用于输出一个字符串(3)填空题9、在程序设计中,把解决问题确定的方法和有限的步骤称为o10、在流程图符号中,判断框中应该填写的是o11、C语言的字符输出函数是C(4)程序填空题1、从键盘上任意输入圆的半径,显示出圆的面积。

请将程样填写完整。

main()(f1oatr,s;Printf("请输入圆的半径scanf("%f",<fer);Printf(”圆的面积为s);)(5)编程题2、编程实现,输入长方形的长和宽,求长方形的周长。

游洪跃的C语言程序设计教程第2章 习题解答

第2章习题解答一、选择题1.下列定义变量的语句中错误的是。

A)int _int; B)double int_; C)char For D)float US$;解析:合法的标识符由字母、数字和下划线组成,因此$不能用作变量名,。

答案:D2.以下不合法的用户标识符是。

A)j2_ KEY B)Double C)4d D)_8_解析:用户标识符由字母(大小写)或者下划线开头,随后跟字母、数字或下划线的任意组合,因此C不正确。

答案:C3.以下不合法的数值常量是。

A)011 B)le1 C)8.0E0.5 D)0xabcd解析:A中011是一个八进制整数常量;B中le1是实数常量的科学记数表示法,而C 中8.0E0.5则是错误的记法,因为E(e)后面必须是整数。

答案:C4.以下不合法的字符常量是。

A)'\018' B)'\"' C)'\\' D)'\xcc'解析:C语言中允许一种特殊形式的字符常量,也就是一个“\”开头的字符序列,'\ddd'表示8进制所代表的字符,'\xhh'表示16进制所代表的字符,转移字符,'\"','\\'分别表示字符"和\。

选项A中数值超过八进数值字的范围(0~8)。

答案:A5.以下程序的功能是:计算半径为r的圆面积S。

程序在编译时出错。

/* 文件路径名:ex2_1_5\main.c */#include <stdio.h> /* 标准输入/出头文件*/#include <stdlib.h> /* 包含库函数system()所需要的信息*/int main(void) /* 主函数main() */{float r = 6, s; /* 半径r与面积s */s = π* r * r; /* 计算面积*/printf("s=%f\n", s); /* 输出面积*/return 0; /* 返回值0, 返回操作系统*/}出错的原因是。

C语言兴趣小组练习题解题报告

C语言兴趣小组练习题解题报告1.绘制余弦曲线在屏幕上用* 显示0~360度的余弦函数COS(x)曲线。

问题分析与算法设计如果在程序中使用数组,这个问题十分简单。

但若规定不能使用数组,问题就变得不容易了。

关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。

为了获得本文要求的图形就必须在一行中一次输出两个“*”。

为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。

将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就应为62-m。

程序中利用反余弦函数acos计算坐标(x,y)的对应关系。

使用这种方法编出的程序短小精炼,体现了一定的技巧。

程序说明与注释#include<stdio.h>#include<math.h>void main(){double y;int x,m;for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/{m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/for(x=1;x<m;x++) printf(" ");printf("*"); /*控制打印左侧的* 号*/for(;x<62-m;x++)printf(" ");printf("*\n"); /*控制打印同一行中对称的右侧*号*/}}2.绘制圆在屏幕上用* 画一个空心的圆。

问题分析与算法设计打印圆可利用图形的左右对称性。

根据圆的方程:R*R=X*X+Y*Y可以算出圆上每一点行和列的对应关系。

计算机C语言5和6习题


• 6、若运行输入:3<回车>,则以下程序的 输出结果是 。 • main() • { int a,b; • scanf("%d",&a); • b=(a>=0) ? a : -a; • printf("b=%d",b); • }
• 6、【解析】条件表达式的基本格式为:"表 达式1?表达式2 : 表达式3";其功能是:表 达式1的值若非0,则计算表达式2的值,且 表达式2的值为最终结果,若表达式1的值 为0,则计算表达式3的值,且为最终结果。 因为a=3,则a>=0成立,所以b=a=3。
• • • • • • • •
15、下面程序的运行结果是 #include<stdio.h> main() { int a,b,c,n; a=2;b=0;c=1;n=1; while(n<=3) {c=c*a;b=b+c;++n;} printf("b=%d",b);}

• 15、【解析】分析程序可知,n的初始值为 1,因此,while(n<=3)循环3次。第1次: c=c*a=2;b=b+c=2;n=2。第2次: c=c*a=4;b=b+c=6;n=3。第3次: c=c*a=8;b=b+c=14。当n=4时,判断条件 不满足,退ile循环。当i<20时, 进入while循环体,循环体内的for循环实现的功能 是:让i值是0或者10的倍数的时候,执行i+=11; a+=i;这两条语句,若i值不是10的倍数,则一直 执行for循环。 • ①当i=0时,执行i+=11;a+=i;i=11,a=11;② 判断i=11<20,进入while循环体,i=10时,跳出 for循环,执行i+=11;a+=i;i=21,a=32;③判 断i=21>20,结束循环。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 练习题 2015-2016(2)重修) 判断 1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。 ( ) 2. 在 C 程序中, APH 和 aph 代表不同的变量。 ( ) 3. C语言中数据类型只有整型、实型和字符型。 ( ) 4. int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。( ) 5. Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( ) 6. 函数strlen("ASDFG\n")的值是7。( ) 7. 结构体类型只有一种。( ) 8. 构成数组的各个元素可以有不同的数据类型。 ( ) 9. C语言中字符串的结束符是'\0'。 ( ) 10. 数组名代表数组的首地址。 ( ) 11. 函数的递归调用不过是一个函数直接或间接地调用它自身。( ) 12. 通过return语句,函数可以带回一个或一个以上的返回值。( ) 13. Char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。( ) 14. 若有定义:char *p(char a[10]);则p是函数名。( ) 15. 用fopen("file","r+");打开的文件"file"可以进行修改。 ( )

C概述,数据类型,运算符,表达式,选择结构 1. 以下叙述中正确的是( )。 A.程序设计的任务就是编写程序代码并上机调试 B.程序设计的任务就是确定所用数据结构 C.程序设计的任务就是确定所用算法 D.以上三种说法都不完整 2. C语言源程序的基本单位是( )。 A.过程 B.函数 C.子程序 D.标识符 3. C语言规定,在一个源程序中main函数的位置( )。 A.必须在最开始 B.必须在最后 C.必须在预处理命令的后面 D.可以在其他函数之前或之后 4. 以下叙述中正确的是( )。 A.C语言系统以函数为单位编译源程序 B.main函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 5. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母,数字和下划线中任一种字符 6. 下面四个选项中,均是合法转义字符的选项是( ) A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 7. 下面四个选项中,均是不合法的用户标识符的选项是( ) A.A P_0 do B.float la0 _A C.b-a goto int D._123 temp INT 8. 已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。 A.x=t/c B.t=d/x C.t=d/le5f D.t=x+c 9. 已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为( )。 A.3 B.3.0 C.3.89 D.4.0 10. 已知有声明"int a=3,b=4,c=5;",以下表达式中值为0的是( )。 2

A.a&&b B.a<=b C.a||b&&c D.!(!c||1) 11. 有) 12. 执行了以下程序段后,x、w的值为( )。 int x=0,y=1,z=2,w; if(x++) w=x; else if(x++&y>=1) w=y; else if(x++&&z>1) w=z; A.0、1 B.1、1 C.2、1 D.3、2 13. 寺 14. 已知有声明"long x,y;"且x中整数的十进制表示有n位数字(4示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是( )。 A.y=x/(10*(n-1)) B.y=x%(10*(n-1)) C.y=x%(long)pow(10,n-1) D.y=x%(10^(n-1)) 15. 下列程序的输出结果是( )。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A.5 B.1 C.0 D.不确定值 16. 假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。 A.7 B.8 C.9 D.2 17. 设a为int型变量,执行下列赋值语句后,a的取值分别是( )。 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 18. 若有以下程序段 int r=8; printf("%d\n",r>>1); 输出结果是( )。 A.16 B.8 C.4 D.2 19. 若有声明: int k,a,b; unsigned long y=5; Double x=1.23; 则以下表达式中正确的是( )。 A.x%(-5) B.x=y[6] C.k=(a=l,b=2,&a+&b) D.a+=a-=(b=2)*(a=3) 20. 若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为( ) A.4 B.16 C.32 D.52 21. 已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是( ) A.132 B.a=1b=3c=2 C.132 D.a=1b=3c=2 22. 已知ch是字符型变量,则不正确的赋值语句是( ) A.ch=5+9; B.ch='\0'; C.ch='7'+'9'; D.ch='a+b'; 23. 判断char型变量c1是否为大写字母的正确表达式是( ) A.'A'<=c1<='Z' B.(c1>='A')&(c1<='Z') C.(c1>='A')&&(c1<='Z') D.('A'<=c1) AND ('Z'>=c1) 24. 若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以 3

下不能满足要求的表达式是( ) A.num%2==1 B.!(num%2==0) C.!(num%2) D.num%2 25. 若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是( ) A.2.500000 B.2.7500000 C.3.500000 D.0.000000 26. 设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( ) A.y=(y*100+0.5)/100.0 B.x=y*100+0.5,y=x/100.0 C.y=y*100+0.5/100.0 D.y=(y/100+0.5)*100.0 27. 以下正确的if语句是( ) A.if(n>0) printf("%f",n)printf("%f",-n); B.if(n>0){ n=n+m;printf("%f",n);}else printf("%f",-n); C.if(n>0){ n=n+m;printf("%f",n);};else printf("%f",-n); D.if(n>0){ n=n+m;printf("%f",n) };else printf("%f",-n); 28. 以下程序运行的结果是( ) #include int main() { int x1=3,x2=0,x3=0; if(x1=x2+x3)printf("****"); else printf("####"); } A.输出:**** B.输出:#### C.存在语法错误 D.无输出结果 29. 语句while(!y)中的表达式 !y 等价于( ) A.y==0 B.y!=1 C.y!=0 D.y==1 30. 若有定义语句:int x=10;,则表达式 x-=x+x 的值为( )。 A.-20 B.-10 C.0 D.10 31. 以下程序段中,与语句:k=a>b?(b>c ? 1 : 0) : 0;功能相同的是( )。 A.if((a>b) && (b>c)) k=l;else k=0; B.if((a>b)||(b>c))k=l;else k=0; C.if(a<=b)k=0;else if(b<=c)k=1; D.if(a>b) k=l;else if(b>c)k=1;else k=0; 32. 已知某程序如下: float p=1.5; #define p 2.5 main() {printf("%f",p);} 则main函数中标识符p代表的操作数是( )。 A.float型变量 B.double型变量 C.float型常量 D.double型常量 33. 逻辑"异或"运算可描述为"a xor b",其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中( )可以正确表示逻辑"异或"运算。 A.a||b B.a&&b C.(a&&b)&&!(a||b) D.(a||b)&&!(a&&b) 34. 以下选项中,( )是C语言关键字。 A.printf B.include C.fun D.default 35. 已知有声明"int a=3,b=4;",下列表达式中合法的是( )。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++

相关文档
最新文档