c语言练习2

合集下载

c语言程序设计练习2

c语言程序设计练习2

设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是__A____。

A、6.000000B、6C、5.500000D、6.500000对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(D)。

A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]若调用fputc函数输出字符成功,则其返回值是(D)。

A、1B、EOFC、0D、输出的字符以下叙述中不正确的是(C)。

A、C语言中,随机读写方式不适用于文本文件B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,顺序读写方式不适用于二进制文件D、C语言中的文本文件以ASCⅡ码形式存储数据以下程序的输出结果是 D 。

struct st{ int x;int *y;}*p;int dt[4] = {10, 20, 30, 40};struct st aa[4] = { 50, &dt[0] , 60, &dt[0] , 60, &dt[0] , 60, &dt[0]};main(){ p = aa;pritnf(“%d\n”, ++p -> x);pritnf(“%d\n”, (++p) -> x);pritnf(“%d\n”, ++(*p -> y) );}A、B、C、D、若有定义int a[10],*p=a;,则p+5表示AA、元素a[5]的地址B、元素a[6]的地址C、元素a[6]的值D、元素a[5]的值若执行fopen函数时发生错误,则函数的返回值是(D)。

A、地址值B、1C、EOFD、0若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是(C)。

A、(exp!=1)B、(exp==0)C、(exp!=0)D、(exp==1)判断两个字符串是否相等,正确的表达方式是 DA、while(s1=s2)B、while(s1= =s2)C、while(strcmp(s1,s2)=0)D、while(strcmp(s1,s2)= =0)判断char型变量cl是否为小写字母的正确表达式是(D)。

C语言程序设计_第二阶段练习

C语言程序设计_第二阶段练习

江南大学网络教育第二阶段练习题考试科目:《C语言程序设计》第章至第章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1.下述对C语言字符数组的描述中错误的是()。

(2分)A.字符数组可以存放字符串B.字符数组的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符"="对字符数组整体賊值D.不可以用关系运算符对字符数组中的字符串进行比较2.有以下程序voidf(int v, int w)(int t;t=v;v=w;w=t;}main(){int x=l,y=3,z=2;if(x>y)f(x,y);else if(y>z) f(y,z);第1页/共io贞第2页/共10页printf("%d,%d,%d\n”,x,y,z);执行后输出结果是()。

(2分) 3.有语句char strl[10], str2[10] = {"books"};则能将字符串books 赋给数组strl 的正确语 句是()° (2分)B. strcpy(strl,str2); D. strcpy(str2,strl);4.若有变量说明:chars, si [20];执行语句:s="student";sl=s;正确的叙述是()。

(2分) B.s 所指向的字符串和si 的值都是"student”C.第一个语句正确,而第二个语句不正确 D,第二个语句正确,而第一个语句不正确 5.C 语言的编译系统对宏命令是()时候处理的。

(2分)A. 在程序运行B. 在程序连接时C. 和源程序其它C 语言同时进行编译时D. 对源程序其它成份正式编译之前进行处理的 6.下列说法不正确的是()。

(2分)A.宏替换不占用运行时间 B,宏无类型C,宏替换只是字符替换 D.宏名必须用大写字母表示7.若有以下说明和语句,则输出结果是()。

C语言_分章节练习_带答案_第二章_数据类型

C语言_分章节练习_带答案_第二章_数据类型

C语言_分章节练习_带答案_第二章_数据类型[单选题]1.C 语言中(以16 位PC 机为例),各数据类型的存储空间长度的排列顺序为。

A)char<int<long<=float<doubleB)char=int<long<=float<doubleC)char<int<long=float=doubleD)char=int=long<=float<double答案:A解析:2.若x、i、j 和k 都是int 型变量,则计算下面表达式后,x 的值为。

x=(i=4,j=16,k=32)A)4B)16C)32D)52答案:C解析:3.假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b) 的值是。

A)7B)8C)5D)2答案:B解析:4.语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符答案:C解析:5.下面正确的字符常量是。

A)"c"B)'\\''C)'W'D)""答案:C解析:6.下面不正确的字符串常量是。

A)'abc'B)"12'12"C)"0"D)" "答案:A解析:7.若有代数式3ae/bc,则不正确的C 语言表达式是。

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3答案:C解析:8.已知各变量的类型说明如下,则不符合C 语言语法规定的表达式是。

int k,a,b;unsigned long w=5;double x=1.42;A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)答案:A解析:9.已知各变量说明如下,则符合C 语言语法规定的表达式是。

C语言基础练习题(含答案)(2)

C语言基础练习题(含答案)(2)
{
int k;
scanf(”%d”, &k);
switch(k)
{ case 1: printf(”%d\n”, k++);
case 2: printf(”%d\n”, k++);
case 3: printf(”%d\n”, k++);
case 4: printf(”%d\n”, k++);
D.switch (grade)
{ case ’C’ :printf(”<60\n”);
break;
case ’B’ :printf(”60——84\n”);
break;
default: printf(”grade is error!\n”);
C.!(x%2) D.x%2
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
第二章 选择结构
2.1 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是()。
A.6 B.0 C.2 D.1
2. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为()。
#include ”stdio.h”
main()
{ int a=1;
if (a++>1) printf(”%d\n”, a);

C语言程序设计练习题第2部分答案

C语言程序设计练习题第2部分答案

case‘1’:v1++;
case‘3’: v3++;
case‘2’: v2++;
}
printf (“v1=%d,v2=%d,v3=%d,v4=%d\n”,v1,v2,v3,v4);
}
A) v1=4,v2=2,v3=1,v4=1
for (i=0;i<n;i++)
printf (“%4d”,a[i]);
} 53.下面程序的输出是_____.
main ()
{ char s[]=“12134211”;
int v1=0,v2=0,v3=0,v4=0,k;
for (k=0;s[k];k++)
switch(s[k])
{ default: v4++;
{m=str[i]; str[i]=_str[j-1]_____; str[j-1]=m; } printf(“%s\n”,str); } 51.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变, 请填空。
#include<stdio.h> #include<string.h> main() {char a[]=”clanguage”,t; int i,j,k; k=strlen(a); for (i=0;i<=k-2;i+=2) for (j=i+2;j<k;__ j+=2 __) if (_ a[i]>a[j] ___) {t=a[i];a[i]=a[j];a[j]=t;} puts(a); printf(“\n”); }
}
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根1保据过护生管高产线中工敷资艺设料高技试中术卷0资配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中2体2资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况1卷下中安与,全过要,度加并工强且作看尽下护可1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编.工写保况复护进杂层行设防自备腐动与跨处装接理置地,高线尤中弯其资曲要料半避试径免卷标错调高误试等高方,中案要资,求料编技试5写术卷、重交保电要底护气设。装设备管置备4高线动调、中敷作试电资设,高气料技并中课3试术且资件、卷中拒料中管试包绝试调路验含动卷试敷方线作技设案槽,术技以、来术及管避系架免统等不启多必动项要方高案式中;,资对为料整解试套决卷启高突动中然过语停程文机中电。高气因中课此资件,料中电试管力卷壁高电薄中气、资设接料备口试进不卷行严保调等护试问装工题置作,调并合试且理技进利术行用,过管要关线求运敷电行设力高技保中术护资。装料线置试缆做卷敷到技设准术原确指则灵导:活。在。对分对于线于调盒差试处动过,保程当护中不装高同置中电高资压中料回资试路料卷交试技叉卷术时调问,试题应技,采术作用是为金指调属发试隔电人板机员进一,行变需隔压要开器在处组事理在前;发掌同生握一内图线部纸槽故资内障料,时、强,设电需备回要制路进造须行厂同外家时部出切电具断源高习高中题中资电资料源料试,试卷线卷试缆切验敷除报设从告完而与毕采相,用关要高技进中术行资资检料料查试,和卷并检主且测要了处保解理护现。装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

c语言期末考试练习题(2)

c语言期末考试练习题(2)

一、单项选择题(10小题,每小题3分,共30分)1、若有代数式,测不正确的C语言表达式是( )。

A、a/b/c*e*3B、3*a*e/b/cC、3*a* e/b*cD、a * e/c/b * 32、下面4个选项中,是不合法的整型常量的选项是( )A、——0f1B、—0xcdfC、—018D、—0x48eg —0xffff 017 999 —0680011 12,456 5e2 03f3、下面4个选项中,是合法整型常量的选项是( )。

A、160B、—0xcdfC、—01D、—0x48a—0xffff 01a 986.012 2e5011 0xe 0668 0x4、下面4个选项中,是不合法的用户标识符的选项是( )A、AB、floatC、b—aD、_123P_0 la0 goto tempdo _A int INT5、以下C程序的运行结果是( )。

(注:口表示空格)# include <stdio. h>int main( ){ long y=23456;printf("y=%3x\n",y);printf("y= %8x\n",y);printf("y=%#8x\n",y);return 0;}A、y=5ba0y=口口口口5ba0y=口口0x5ba0B、y=口口口Sba0y=口口口口口口口5ba0y=口口0x5ba0C、y=5baoy=5baoy=0x5baoD、y=5ba0y=口口口口5ba0y=# # # # 5ba06、以下程序的运行结果是( )。

# include <stdio.h>int main( ){ int m=5,n=10;printf("%d,%d\n",m++,––n);return 0;}A、5,9B、6,9C、5,10D、6,107、以下程序的输出结果是( )。

(注:口表示空格)# include <stdio.h>int main( ){ printf("\n* s1= %15s*","chinabeijing");printf("\n* s2=% – 5s*","chi");return 0;}A、* s1=chinabeijing口口口*B、*s1=chinabeijing口口口** s2=** chi* *s2=chi口口*C、*s1=*口口chinabeijing*D、*s1=口口口chinabeijing** s2=口口chi* *s2 = chi口口*8、以下不符合C语法的赋值语句是( )。

C语言编程练习题(20121208总结) 2

C语言编程练习题(20121208总结) 2
C语言编程练习题
1.从键盘上输入两个整型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
2.从键盘上输入两个float类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
3.从键盘上输入两个double类型数据a和b的值,计算它们的加、减、乘、除结果,并将结果输出在屏幕上。
当58500<salary<=83500时,rate=35%,deduction=5505;
当83500<salary时,rate=45%,deduction=13505;
54. 从键盘上输入10个成绩,求其平均成绩。
55.编写程序,用公式求π的近似值,直到最后一项的绝对值小于10-6为止。
56.编写程序,求任意整数的各个数位上的数字之和,如输入整数67401,结果为18(因为1+0+4+7+6=18)。
13.从键盘上输入一个秒数,将其转换成对应的小时数、分钟数和秒数。例如,输入5000,则输出应为“1小时23分钟20秒”。
14.从键盘上输入一个天数,将其转换成对应的年数、月数和天数(假设每年均为360天,每月均为30天)。例如:输入1000,则输出应为“2年9个月10天”。
15.大连东联路从联合路入口到南关岭出口全长11.3公里,全程限速70公里/小时,编写程序,计算从联合路到南关岭最短的时间是多少分钟多少秒?
62.编写程序,求满足1+2+3+4+…+n<1000时n的最大值及其和值。
63.编写程序,求s=1+2+4+5+7+8+10+…+100的值。
64.统计100-999之间有多少个满足下列要求的整数:其各位数字之和为5。编写程序,输出这些整数,并计算它们的和。

C语言2基本语法规则练习题2

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语言练习题 之2

C语言练习题 之2
9,1
C 语言练习题之二
1.在一个 C 语言源程序中,必不可少的是___________ 。 2.下列叙述中正确的是__________ 。 A.main 函数必须出现在其他函数之前 B.main 函数中至少必须有一条语句 C.C 程序总是从 main 函数的第一条语句开始执行 D.C 程序总是在执行完 main 函数的最后一条语句后结束 3.以下标识符中不能用做变量名或自定义函数名的是_______。 A.main B._123 C._float D.sizeof B.1UL C. '0x41' D.0xfe 4.下列表示中,不可作为常数的是_______ 。A.020 A. value=value-'0'; #define d 2
18.若有声明“float f=123.45678;”,则执行语句“printf("%.3f",f);”后,输出结果是_____ 。 B.123.457 19. 已 知 程 序 中 有 声 明 “int a; long b;” , 若 需 要 接 收 从 键 盘 输 入 的 电 话 号 码 字 符 串
5.设有声明“int value='5';”,则执行下列选项的赋值语句后,value 的值不等于 5 的是___。 B. value=value-0x30;C. value=value-49; D. value=value-'\060'; 6.设有定义和声明如下: int x=5;float y=3.83;char c='d'; 以下表达式中有语法错误的是____。 A.x++ B.y++ C.c++ D.d++ 7.若有声明和初始化“int x=32767;”,则 x+1 的值为___________。 8.若有声明和初始化“long x=32767;”,则 x+1 的值为___________。 9.已有声明“int a=3,b=3,c=2;”,以下选项中值为 0 的表达式是________ 。 A. !a && !b && c A.2 ___ 。 12. 若有声明 “int i=7;float x=3.1416;double y=3;” ,表达式 i+'a'*x+i/y 值的类型是 _________ 型。 13.设有声明“float a=l.23456;int i;”,欲将 a 中的数值保留小数点后两位, 第三位进行四舍五 入运算,能实现该功能的表达式是_________。 A. i=a*100+0.5,a=i/100.0 B.a=(a*100+0.5)/l00.0C. a=((int)a*i00+0.5)/100.0 D.a=(a/100+0.5)/100.0 14.若有声明“int a=15,b=20,c=25,e;”,则执行语句“e=a>b?--c:++c;”后变量 e 的值是_____。 15.以下 C 语言的运算符中,其中优先级最高的运算符是________ 。 B.!a ||!b ||c B.3 C.a==b &&b>=c C.4 D.a>=b&& b>c D.5 10.若有声明“int x=4,y=3;”,则表达式“x<y?x++:y++”的值是________。 11. 设有声明 “int a=3,b=4;float x=4.5,y=3.5;” ,则表达式 “(float)(a+b)/2+(int)x%(int)y” 的值是

C语言小练习2

C语言小练习2
{printf ("%*c",space,' ');
for (k=1;k<=2*j+1;k++)
printf (" *");printf ("\n");}space+=4;
for(j=n-1;j>=0;j--,space+=2)
{printf ("%*c",space,' ');
for(k=1;k<=2*j+1;k++)
printf("\n插入前数组a[]="); for(i=0;i<10;i++) printf("%3d",a[i]);
printf("\n请输入要插入的数,及要插入的下标位置:");
scanf("%d%d",&x,&k);
//17.在数组的某个下标位置插入一个元素。
/*#include<stdio.h>
void main()
{ int i,n=10,x,k; int a[11]; printf("请输入数组的前十个元素:");
for(i=0;i<10;i++) scanf("%d",&a[i]);
{ for (j=1;j<=n-i;j++)
printf (" ");
for (j=1;j<=i;j++ )
printf (" *");

二级c语言经典练习带答案

二级c语言经典练习带答案

考研程序设计复习题1.以下程序的输出结果是______。

main(){ int a=0;a+=(a=8);printf("%d\n",a);}答案:16知识点:赋值表达式2.若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。

c=(a-=(b-5));c=(a % 11)+(b=3);答案:3知识点:赋值表达式3.以下程序运行后的了输出结果是______。

main(){ int a=1,b=2,c=3;if(c=a) printf("%d\n",c);else printf("%d\n",b);}答案:1知识点:赋值表达式4.若有语句int i=-19, j=i%4;printf("%d\n",j);则输出结果是______。

答案:-3知识点:算术表达式5.设有以下程序:main(){ int n1,n2;scanf("%d",&n2);while(n2!=0);{ n1=n2 % 10n2=n2/10;printf("%d",n1);}}程序运行后,如果从键盘上输入1298,则输出结果为______。

答案:8921知识点:算术表达式6.下面程序的输出是______。

unsigned fun6( unsigned num){ unsigned k=1;do {k*=num%10;num/=10;}while(num);return(k);}main(){ unsigned n=26;printf("%d\n", fun6(n));}答案:12知识点:算术表达式7.设y 是int型变量,请写出判断y为奇数的关系表达式______。

答案:y%2知识点:算术表达式8.下列程序的输出结果是16.00,请填空。

main(){ int a=9,b=2float x=______,y=1.1,z;z=a/2+b*x/y+1/2;printf("%5.2f\n",z);}答案:6.6知识点:算术表达式9.以下程序运行后的输出结果是______。

C语言期末练习题及答案2

C语言期末练习题及答案2

期末练习题2-48课时一、单选题(共20题,共30分)1. 执行下列程序后的输出结果是()int fun(int x1,int x2){ int x;x1>x2(x=3):(x=4);return(x+x1);}main(){ printf("%d\n",fun( 7,8));}(分)2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分)3. 若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是( ) (分)A.以下两处的*p含义相同,都说明给指针变量p赋值B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中4. 有以下程序#define N 20fun(int A[],int n,int m){int i,j;for(i=m;i>=n;i--)A[i+1]=A[i];}main(){int i,A[N]={1,2,3,4,5,6,7,8,9,10};fun(A,2,9);for(i=0;i<5;i++)printf("%d",A[i]);}程序运行后的输出结果是()(分)5. 下面程序的输出是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (分)=11,k=12,k=13 =11,k=13,k=136. 以下程序段的输出为:int x=011;printf("%d\n",++x); (分)7. 执行下述程序的输出结果是()。

#include <>#include <>main(){char *p1,*p2,str[50]="ABCDEFG";p1="ABCD";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s\n",str);} (分)8. 以下语句的输出结果是()int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c); (分),0,5 ,5,-10 ,0,5 ,0,-109. 阅读程序#include <>int funC(int B[],int n){int i,r;r=1;for (i=0;i<=n;i++)r=r*B[i];return (r);}main(){int x,A[]={2,3,4,5,6,7,8,9};x=funC(A,3);printf("%d\n",x);}执行下述程序的输出结果是()(分)10. 下列选项中,可作为C语言合法整数的是()(分)A.*&A[5]&nbsp; +2 C.*(p+5) D.*(A+2)12. 有以下程序void fun(int *a,int i,int j){int t;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){int a[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}执行后输出结果是()(分)5 4 3 2 1 3 2 1 5 65 6 1 2 3 2 3 4 5 613. 若定义如下变量和数组_________。

C语言期末试题2(带答案)

C语言期末试题2(带答案)

C语言期末试题2(带答案)13-14-2 48课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-09 10:52:09答题结束时间:2014-06-09 10:52:13考生姓名:翟方正考试时间:00:00:04分钟总得分:0分评卷人:系统自动评卷评卷时间:2014-06-09 10:52:13一、单选题(共15题,共30分)1. 在C语言中,回车换行符是()(2分)A.'\n'B.'\t'C.'\v'D.'\b'标准答案:A考生答案:2. 以下选项中,不能作为合法常量的是()(2分)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0标准答案:B考生答案:3. 若有语句int *point,A=4;和point=&A下面均代表地址的一组选项是()(2分)A.A,point,*&AB.&*A,&A,*pointC.*&point,*point,&AD.&A,&*point ,point标准答案:D考生答案:4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()(2分)A.x&&yB.x<=yC.x︱︱++y&&y-zD.!(x<y&& !z︱︱1)<="" p="">标准答案:D考生答案:5. 以下叙述中正确的是()(2分)A.C语言可以用来编写系统软件,也可以用来编写应用软件B.函数体不必用一对大括号{}括起来C.C程序的每一行只能写一条语句D.对一个C程序进行编译的过程可以发现注释中的拼写错误标准答案:A考生答案:6. 执行下面程序段后,c3中的值是()int c1=1,c2=2,c3;c3=c1/c2; (2分)A.0B.1/2C.0.5D.1标准答案:A7. 以下程序的输出结果是( )main(){ int a=12,b=12;printf("%d %d\n",--a,++b);} (2分)A.10 10B.12 12C.11 10D.11 13标准答案:D考生答案:8. 以下定义语句中,错误的是( ) (2分)A.int a[]={1,2};B.char *a[3];C.char s[10]="test";D.int n=5,a[n];标准答案:D考生答案:9. 以下程序的输出结果是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (2分)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b 标准答案:D考生答案:10. main( ){int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3){k =k+ p[i]; i++;}printf("%d\n", k);}执行后输出结果是()(2分)A.58B.53C.38D.24标准答案:C考生答案:11. 以下程序段的输出结果是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z); (2分)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5考生答案:12. 若以下程序所生成的可执行文件名为file1.exe,则当在操作系统状态下输入下述命令行执行该程序时FILE1 CHINA BEIJING SHANGHAI程序的输出结果是()#includemain(int argc,char *argv[]){while (argc-->1){++argv;printf("%s ",*argv);}printf("\n");} (2分)A.CHINA BEIJING SHANGHAIB.FILE1 CHINA BEIJING SHANGHAIC.C B SD.F C B标准答案:A考生答案:13. 执行下述程序的输出结果是()#includeint power(int x,int y);main(){float a=2.6,b=3.4;int p;p=power((int)a,(int)b);printf("%d\n",p);}int power(int x,int y){int i,p=1;for (i=y;i>0;i--)p=p*x;return (p);} (2分)A.8B.9C.27D.81标准答案:A考生答案:14. 有以下程序main(){ int x[8]={8,7,6,5,0,0}, *s;s=x+3;printf("%d\n",s[2]);}A.随机值B.0C.5D.6标准答案:B考生答案:15. 执行下述程序的输出结果是()#includemain(){int aa[3][3]={{2},{4},{6}};int i,*p=&aa[0][0];for (i=0;i<2;i++){if (i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}printf("\n");} (2分)A.23B.26C.33D.36标准答案:A考生答案:二、判断题(共10题,共10分)1. C语言中,标识符的第一个字符可以是数字(1分) ( )标准答案:错误考生答案:2. "hello!"是合法的字符串常量表示形式(1分) ( )标准答案:正确考生答案:3. 若有定义int a[3][4];则a[1+1][0]是对数组a元素的正确引用形式(1分) ( )标准答案:正确考生答案:4. 在switch语句中使用continue语句与使用break语句作用相同(1分) ( )标准答案:错误考生答案:5. 用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分) ( )标准答案:正确考生答案:6. char a[]={0,1,2,3,4,5,6};不是正确的语句(1分) ( )标准答案:错误考生答案:7. 已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。

c语言第二章数据类型与数据处理练习题

c语言第二章数据类型与数据处理练习题

A.(m=n=6,m+n,m+1)
B.(m=n=6,m+n,n+1)
C.(m=6,m+1,n=6,m+n)
D.(m=6,m+1,n=m,n+1)
33.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是( )。
A.7
B.8
C.6
D.2
34.已知 s是字符型变量,下面不正确的赋值语句是( )。
6. 不属于 C语言关键字的是( )。
A.int
B.break
C.while
D.character
7. 是 C语言提供的合法关键字的是( )。
A.Float
B.signed
C.integer
D.Char
8. 以下不能定义为用户标示符的是( )。
A.scanf
B.Void
C._3com_
D.int
9. 一个 C程序是由( )。
B.x=y=100
C.x++;
D.x=int(z);
37.设 x、y均为 float型变量,则不正确的赋值语句是( )。
A.++x;
B.x*=y-2;
C.y=(x%3)/10;
D.x=y=0;
38.下列语句中符合 C语言的赋值语句是( )。
A.a=7+b+c=a+7;
B.a=7+b++=a+7;
C.a=7+b,b++,a+7
A.2.500000 B.2.750000 C.3.500000
D.0.000000

C语言模拟试题II

C语言模拟试题II

《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案一、单项选择题(每题2分,30道题,共60分)1.下面的程序将输出:main(){float f;int x=1,y=;f=x/y;printf("f=%,y=%#X", f, y );}= , y=2 = , y=0X2 = , y=0X2 = , y=22.下面的程序将输出:#include ""main(){int len;char str[]="a\b\04235\0";len=strlen(str);printf("%d",len);}A. 10B. 5C. 6D. 73.下面的程序将输出:main(){int a=0x31;char *str[]={"this is one. ","this is two. "};char ch;ch=++a-’0’;switch(ch){case 1: printf ("%s", str[0]);case 2: printf ("%s", str[1]);default: printf ("no way! ");}}is one. is two. way! is way!4.下面的程序将输出:main(){int a[5]={1,2,3};int k,j;for(k=1;k<4;k++)a[k]++;for(j=0;j<5;j++)printf("%d ",a[j]);}3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 05.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:int a[10];int *p;p=a;[2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1;6.下面程序将输出:void add(int a){a++;return;}main(){int k;k=;add(k);printf("%d",k);}A. B. C. 3 D. 47.下列循环结构中,不是..无限循环的是:A. for(i=1, s=0; ; i++)B. i=10;s=s+i ; while(1){i=i%10+1;if(i>10) break; }C. int i=0;D. i =100;do{ ++i ; }while(i>=0); while(++i%2) i++;8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:[2][2] [5] [5] [1][1]9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?A. 0X5050B. 0X5002C. 0X5004D. 0X504010.若有说明int a[2][2];那么,下面正确的C赋值语句是:=2; [1]=2; [1]={1,2}; [0][1]=a[1][0];11.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A.10 B.20 C.40 D.3012.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:A.0 B.语法错C.1 D."假"13.下面能正确进行字符串...赋值操作的语句是:A.char s[5]={"ABCDE"}; B.char s[]={'A','B','C','D','E'};C.char *s;s="ABCDEF"; D.char *s;scanf("%s",s);14.已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.A.(a+6) B.*(&a[0]+6) C.a[2][2] D.*(&a[0][0]+6) 15.设有以下说明和定义:typedef union { long i; int k[4]; char c; }DATE;struct date { int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A.26 B.30 C.18 D.816.设有如下定义:int *(*ptr)();则以下叙述中正确的是A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针17.若二维数组a 有m列,则在a[i][j]之前的元素个数为______A.j*m+i B.i*m+j C. i*m+j-1 D.i*m+j+118.以下程序运行后,输出结果是A.13 B.51 C.11 D.53int d=1;fun (int p){int d=5;p=d;printf("%d",p);}main(){int a=3;fun(a);d=a;printf("%d\n",d);}19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A.4 B.7 C.6 D.5#include<>#include<>func(char str[ ] ){ int num =0;while(*(str+num)!='\0') num++;return(num);}main( ){char str[10],*p=str;gets(p); printf("%d\n",func(p));}20.执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A.15 B.14 C.13 D.1221.已知定义了两个结构体变量,下面是正确的语句是:struct {int x; char name[10]; float mark;} S1,S2;A. S1={5, ”yang”, };B. S1=S2;C. = ; = ; =;D. strcpy(S1,S2);22.下面这段程序运行的结果是:int a=0x4145;char *p;p=(char *)&a;*p+=1;printf(“%X” , *p);A. 46B. 4223.下面这段程序运行的结果是:char str[ ]=”%#X”;int a=50;printf(str,a++);D.有语法错24.下面哪个语句是函数的原型声明A. int (*f)(int a , int b);B. int f(int a , 5);C. int f(int a , int b);D. int f(int a=5, int b=6);25.已知int a=0XF11F , b; 执行完下面的操作后,a的值是多少?b=(a&0xFF00)>>4;A. 0X0FF1B. 0XF11F D. 0XFFF126.有以下程序:int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是。

《二级C语言》练习题库与参考答案

《二级C语言》练习题库与参考答案

《二级C语言》练习题库与参考答案一、单选题(共100题,每题1分,共100分)1、软件生命周期中,确定软件系统要做什么的阶段是()。

A、软件测试B、软件设计C、需求分析D、系统维护正确答案:C2、软件生命周期是指()。

A、软件的开发与管理B、软件产品从提出、实现、使用、维护到停止使用退役的过程C、软件的实现和维护D、软件的需求分析、设计与实现正确答案:B3、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为()。

A、n+1B、n/2C、2nD、n-1正确答案:D4、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是()。

A、main() { float fun(int i,int j); ……x=fun(i,j);…… } float fun(inta,int b){……}B、float fun(int,int); main() {……x=fun(2,10);……} float fun(inta,int b){……}C、float fun(inta,int b){……} main() {……x=fun(i,j);……}D、main() {……x=fun(2,10);……} float fun(inta,int b){……}正确答案:D5、以下关于指针的叙述,错误的是()。

A、两个基类型相同的指针变量不能指向同一个对象B、可以通过对指针变量自增、自减来移动指针C、只有两个类型相同的指针才能进行减运算D、一个指针变量可以通过不同的方式获得一个确定的地址值正确答案:A6、结构化程序设计的基本原则不包括()。

A、模块化B、逐步求精C、自顶向下D、多态性正确答案:D7、下面描述不属于软件特点的是()。

A、软件复杂性高B、软件使用不涉及知识产权C、软件在使用中不存在磨损、老化问题D、软件是一种逻辑实体,具有抽象性正确答案:B8、关系表中的每一行记录称为一个()。

C语言程序设计练习二

C语言程序设计练习二

《C语言程序设计》练习二二、多项选择题在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。

1的有(ADE )1.设有int a=3,b=-5;下面表达式值不等于...A.a<0&&b<0B.a=fabs(b)-(a+1)C.a<b||b<0D.(a,2,-5)= =(b,2,a)E.! (a>0&&b<0)2.设有说明:int u=1,v=3;下面表达式的值为3的是(ACD )A.v|uB.u&vC.u ^ v|1D.v|u>>1E.v&~u3. 设有说明:int x=1, y=3; 下面表达式的值为2的有(ABE )A. y&~xB. x^yC. x|yD. y|x>>1E. x<<1|y>>24.设有说明:int u=1, v=3, w=7;下面表达式的值为3的有(AC)A.w>>1&v|uB.u&v&wC.u|v&wD.w&v<<1E.v^w|u5.若有int x;float;y下面结果为整型数的表达式有(ACD )A.(int)(x+y) B.(int)x+yC.´a´+x D.x+(int)yE.x*y6.设有说明:int u=1,v=5;则下列表达式的值为1的有(ABE )A.u&v B.v>>2C.u^u D.u¦vE.(u<<3)/57.设有int a=3,b=-5;下列表达式的值等于1的有(ABCE )A. a&&b<0B. fabs(b)-a-1>0C. a>b&&b<0D. (a,2,-5)==(b,2,a)E. a+b<08.下面合法的C语言转义字符有(ABCE )A.\123B.\xabC.\\D.\88E.\n9.设有说明:int u=0,v=l,z=2;1则下列表达式中结果为-l的有(AB )A.v=~uB.u=u|~(v&z)C.v=(u|z)<<1D.u=~(u|z)E.v&=(~u)10.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有()A.u&v|w B.u|v|w C.u^v|w D.w&v|u E.u^w|v 11.下面基本结构和特性中符合结构化程序设计的要求的有(ABCE)A.选择结构B.循环结构C.顺序结构D.各结构之间只有一个入口,至多两个出口E.各结构之间只有一个入口,一个出口12.下列语句中正确的有(ACD )A.if(x>y);B.if(x=y)&&(x!=0)x+=y;C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);D.if(x<y){x+ +;y+ +;}E.if(x<y)x+ +;y+ +;else x――;y――;13.下列循环将会产生死循环的有(ACDE )A.while(1); B.do{ }while(0);C.do{ }while(1); D.for(k=1;k>―10;k+ +); E.for(k=1;k=10;k+ +,k――);14.以下if语句中没有语法错误的有(AC )A.if(x>0)printf(″%f″,x);else printf(″%f″,x);B.if(x>0){x=x+y;printf(″%f″,x)}else printf(″%f″,x)C.if(x>0){x=x+y;printf(″%f″,x);}else printf(″%f″,x);D.if(x>0)x=x+y;printf(″%f″,x);else printf(″%f″,x)E.if x>yx++;2elsex--;15.设有程序如下:main(){ int i,j,a[]={1,3,5,7,9,11,13,15};i=5;switch(i){ default;printf(″%d\n″,a[i]);case 1:printf(″%d\n″,a[3]);case 2:printf(″%d\n″,a[++i]);break;case 3:printf(″%d\n″,a[--i]);}}上述程序的输出结果不包括(AC)A.5 B.7 C.9 D.11 E.1316.下列关于break、goto、continue语句的说法中正确的是(ACE )A. break语句能够用于循环语句中B. break语句不能用于switch语句中C. goto语句可以用于直接从多层循环中退出D. continue语句可用于跳出循环体E. continue语句不能用于switch语句中17.下面能执行循环结构的语句有(BCD6 )A.if语句B.while语句C.do—while语句D.for语句E.switch语句18.若有定义int a[5];,则对a数组元素或地址的引用错误..的有()A.&a[5]B.a[2]C.a++D.*aE.a[0]19. 若定义char c[11]; 可将字符串″I am a boy″赋给数组c,下面正确的选项有()A. c=″I am a boy″; B. getchar(c);C. gets(c);D. scanf(″%s″,c);3E. for(i=0;i<10;i++) scanf(″%c″,&c[i];c[10])=’\0’;20. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有()int a[10], *p;p=a;A. a[0]B. aC. p+1D. pE. *p21.下面各选项中,能正确进行字符串操作的有()A. char s[ ]={′a′, ′b′, ′c′, ′d′, ′e′, ′\0′};B. char s[10];s=″abcde″;C.char s[10];strcpy(s, ″abcde″)D.char s[10];getchar(s);E.char s[10];gets(s);22.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有()double a[5],*p1p1=a;A.aB.p1+1C.*p1D.&a[1]E.p123.设有定义:int a[2][3];下面关于数组元素引用正确的有()A.a[0][3] B.a[0][0]C.a[2][1] D.a[1][2]E.a[2][3]24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有()A.a[2] B.*aC.*a+2 D.a[0]+2E.&a[0][2]25.设有定义及赋值:()int a[10]={0,1,2,3,4,5,6,7,8,9},*p;p=a;则引用a中值为5的元素的正确形式是A.a[5] B.a[4] C.*(a+5) D.p[5] E.*(p+5)426.若有定义及赋值:int *p,a[4],i;p=a,则可以表示数组元素值的形式是()A.*(a+i)B.a+iC.&a[i]D.a[i]E.*(p+i)27.若有定义:int y[4][4],( *p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是()A. printf (″%d\n″,&y[2][0]);B. printf (″%d\n″, y[2][0]);C. printf (″%d\n″,p[2][0]);D. printf (″%d\n″, y[2]);E. printf (″%d\n″, *(*(y+2));28.设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有()A.Vo5==&inVB.Vo5==* inVC.inV==* Vo5D.inV==&Vo5E.Vo5==inV29.以下关于函数和变量的说法中正确的有(ABC )A.不同函数中可以使用相同名字的变量B.形式参数是局部变量C.一个函数内部定义的变量只能在本函数范围内有效D.在一个函数内部的复合语句中定义的变量可在本函数范围内有效E.如果全局变量与函数内定义的局部变量同名,则在函数内局部变量无效30.设有关于结构体类型的定义:()struct food{char name[20];int kind;}myfood,*p;下面各个选项中语句都正确的是A.p=&myfood;B.p=&myfood;p->kind=5; strcpy(p->name,〃rice〃);C.p=&myfood;D.strcpy(myfood. name, 〃pie〃);p.kind=7; p=&myfood;E.p=&myfood,p->kind=6;strcpy(, 〃apple pie〃);31.设有关于结构体类型的定义:()struct car{char*name;float price;struct car *next;5}*p,*head=NULL;下面各选项中正确的有A.p=(struct car*)MALLOC(sizeof (struct car);B.p=(struct car*)malloc (sizeof (struct car);C.p.next=head;D.p->next=head;E.p=(struct car *)malloc (sizeof(car);32.设有关于结构体类型的定义:()struct data{int num;struct data *next;} *p,* head=NULL;下列语句中正确的有A.p=(struct data *)malloc(sizeof(struct data));B.p=(struct data )malloc(sizeof(struct data));C.p=(struct data *)malloc(sizeof(data));D.p->next=head;E.p.next=head;33.设有关于结构体类型的定义:struct worker{int id;char *name;float salary;} wl={102035,″Lihua″,2560.50},*p;下列选项中语句语法正确的有()A. p=wl;B. p=&wl;C. p->id=wl->idD. p->id=wl.id;E. p.salary=wl.salary;34. 在C语言中,关于符号FILE下面说法正确的有()A. FILE是C的关键字B. FILE表示一种关于文件参数的结构体类型C. FILE表示一种关于文件参数的结构体变量D. FILE*可以用来说明文件指针6E. 文件指针指向的变量的数据类型是FILE35.在C语言中,下面关于文件说法正确的有(ACE )A.按数据的组织形式,可分为文本文件和二进制文件B.文件只能是ASCII码文件C.文件能用fopen( )函数打开D.文件只能是二进制文件E.对打开的文件可以进行读或写操作7。

C语言练习 二 输入输出_1

C语言练习 二 输入输出_1

实验二输入输出
要求:
上机练习每一个程序,并将运行的结果截图存放在word文件里,在规定的时间内上交。

一、输出函数printf
1、C语言格式符练习。

理论:“%”和字母组成格式符号,如“%d”,“%c”等。

1.main()
2.{ int k=1234; //这行表示:定义一个名为k的整型变量,并给k赋值1234。

3.float f=123.456; //这行表示:定义一个名为f的实型变量,并给f赋值1233.456。

4.printf(“123456789\n”); //这行表示:把双引号括起的内容送到显示器显示(输
出)
5.printf(“%d\n”,k); //这行表示:把变量k的值通过“%d”输出到显示器。

6.}
把第5行替换成下表的输出语句,运行程序验证计算机输出的结果与下表的结果是否一致。

表中输出结果中的符号□代表一个空格,其中k为int型,值为1234;f为float型,值为123.456。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习2一、选择题1.下面关于语句的说法中,正确的是( A B D)。

A、对程序中使用的变量、数组、函数等进行定义、声明的语句属于说明性语句B、表达式后面加;号构成表达式语句C、复合语句中不允许包含另一条复合语句D、对程序执行流程起控制作用的语句属于控制语句2.下面语句中,错误的是( B )。

A、m=x>y>z;B、float x=y=z;C、m=x,m>y;D、{k=m>n;k?:x,y;}3.下面不正确的if语句形式是( A )。

A、if (x=y;) m++;B、if (x<=y) m++;C、if (x-y) m++;D、if ( x ) m++;4.下面不正确的if语句形式是( C )。

A、if (x=y) ;B、if (x==y) m=0,n=1;C、if (x>=y) m=0 else n=1;D、if ( x!=y ) m=n;5.下面程序的运行结果是(A)。

void main(){int x=7,y=8,z=9;if(x>y)x=y,y=z; z=x;printf("x=%d y=%d z=%d\n",x,y,z);}A、x=7 y=8 z=7B、x=7 y=9 z=7 D、x=8 y=9 z=7 D、x=8 y=9 z=86.下面程序的运行结果是(B)。

void main(){int x=6,y=6;if(++x<y++)printf(“%d\n”,x++);elseprintf(“%d\n”,y++);}A、6B、7C、8D、97.下面程序的运行结果是(D)。

void main(){int x=1,y=2,z=3,m=1if(!x)m--;else if(!y)m=2;else if(!z);else m=3;printf(“m=%d\n”,m);}A、0B、1C、2D、38.在下面的if语句中,功能上具有等价关系的两条if语句是(B)。

①if (flag) x+y; else x-y;②if (flag==1) x+y; else x-y;③if (flag!=0) x+y; else x-y;④if (flag==0) x+y; else x-y;A、①和②B、①和③C、③和④D、②和③9.在if语句多层嵌套的情况下,为了正确区分多个if和else之间的匹配关系,C语言规定:如果没有使用花括号,那么从最内层的else开始,else总是与其(D)。

A、前面最近的if配对B、缩进位置相同的if配对C、后面最近的if配对D、前面最近的且尚未与其它else配对的if配对10.下面程序的运行结果是(A)。

void main(){int a=3,b=5,c=2,d=3,m=0;if(a>b)if(a>c)if(a>d) m=1;else m=2;else m=3;printf(“%d\n”,m);}A、0B、1C、2D、311.对下面程序运行结果的分析中,正确的是(D)。

void main ( ){int x,y;scanf(“%d,%d”,&x,&y);if (x>y)x=y;y=x;elsex++; y++;printf(“%d,%d\n”,x,y);}A、若输入4和3,则输出4和5B、若输入3和4,则输出4和5C、若输入4和3,则输出4和5D、有语法错误,不能通过编译12.以下关于switch语句的叙述中,不正确的是(C)。

A、switch语句中各case子句后面的表达式必须是整型或字符型常量表达式。

B、同一switch语句中各case子句后面表达式的值必须互不相同。

C、switch语句中必须有default部分。

D、switch语句必须与break语句结合才能实现真正的选择结构。

13.假定已定义变量int x,y;则下面正确的switch语句是(B D)。

A、switch(x){case 1.1: y++;case 2.1: y--;default: y*=y;}C、switch(x){case 2: y++;case 1+1: y--;default:y*=y;} B、switch(x){case …a‟:y++;case …b‟:y--;default:y*=y;}D、switch(x){default: y*=y;case 1: y++;case 1+1: y--;}14.以下程序输出结果是( B )。

void main(){int x=1,y=2,m=0,n=0;switch(x){case 1:switch (y){case 2 : m++ ; break ;case 4 : n++ ; break ;}case 3:m++; n++; break;case 5:m++; n++;}printf(“m=%d,n=%d”,m,n);}A、m=1,n=0B、m=2,n=1C、m=1,n=1D、m=2,n=215.下面的循环语句执行完毕后,循环变量k的值是(B)。

int k=1;while (k++<10);A、10B、11C、9D、无限循环,值不确定16.对下面程序段中while循环执行情况分析正确的是(C)。

int k=2;while (k=0) {printf(“%d”,k);k--;}A、该循环只执行1次B、循环是无限循环C、循环体中的语句1次也不执行D、存在语法错误17.以下程序段(C)。

x=-1;do{ x=x*x; }while (!x);A、是死循环B、循环执行2次C、循环执行1次D、有语法错误18.对下面程序段中do-while循环执行情况分析正确的是(C)。

int m=1,n=5;do{m++;n--;}while (m<n);A、该循环可能1次也不执行B、该循环执行1次C、该循环执行2次D、该循环执行3次19.下面程序的功能是从键盘输入一组字符,统计这些字符中大写字母和小写字母的个数,程序中while语句的循环条件是( A )。

void main ( ){int c1=0,c2=0;char ch;while (( ) != ‟\n‟){if (ch>=‟A‟ && c h<=‟Z‟) c1++;if (ch>=‟a‟ && c h<=‟z‟) c2++;}}A、ch=getchar( )B、getchar( )C、ch==getchar( )D、scanf(“%c”,&c h)20.下面有关for循环的正确描述是(D)。

A、for循环只能用于循环次数已经确定的情况。

B、for循环的执行流程是先执行循环体语句,后判断表达式。

C、在for循环中, 表达式1和3可以省略,但表达式2是不能省略。

D、for循环的循环体中, 可以包含多条语句,但必须用花括号括起来。

21.执行语句for (i=1;i++<4;) ; 后变量i的值是(C)。

A、3B、4C、5D、不定22.以下程序段的循环次数是(B)。

for (i=2; i==0; )printf(“%d”,i--);A、无限次B、0次C、1次D、2次23.下面的双重循环中的内循环体将一共会被执行(C)次。

for(i=0;i<=3;i++)for(j=4;j;j--)printf(“a”);A、12B、15C、16D、2024.如果下面程序在运行时输入1,2,0,-1,-2↙,则程序输出结果是(C)。

void main(){int x,i,sum;for (i=0,sum=0; i<5;i++){scanf("%d",&x);if (x<0) continue;sum+=x;}}A、-3B、0C、3D、625.如果下面程序在运行时输入1,2,0,-1,-2↙,则程序输出结果是(C)。

void main(){int x,i,sum;for (i=0,sum=0; i<10;i++){scanf("%d",&x);if (x<0) break;sum+=x;}}A、-3B、0C、3D、6二、填空题1.在一个循环语句的循环体中又包含了另一个循环语句,则这种循环形式称为循环的嵌套。

2.for语句中的三个表达式可以全部或部分省略,但应保留其分隔符____;______。

3._switch_通常适用于条件表达式的取值为多个离散而不连续的整型值(或字符型值)时实现多分支选择结构。

4.C语言提供的选择控制语句可以对给定的条件进行判断,并根据判断结果选择执行__分支程序__________。

5.语句可以分为说明性语句,表达式语句,复合语句和控制结构语句4种类型,if语句属于其中的控制结构语句。

6.C语言中语句的结束标志是分号。

7.复合语句是用一对{ } 界定的语句块。

8.将“y能被4整除但不能被100整除,或者y能被400整除”这一条件描述写成逻辑表达式y%4==0&&y%100!=0||y%400==0。

9.能够表示“40<x<=60或x<120”的C语言表达式是x>40&&x<=60||x<120。

10.下面程序的功能是求3个整数中的最小数,,将程序补充完整。

void main(){int x,y,z,min;scanf(“%d%d%d”,&x,&y,&z);if( x<y ) min=x;else min=y;if( z<min) min=z;printf(“min=%d”,min);}11.switch语句中case关键字后面的表达式必须是整型常量表达式。

12.switch语句只有与case语句结合使用,才能实现程序的选择结构。

13.C语言实现循环结构的三种语句分别是for语句、while语句和do-while语句。

14.除for语句外,可能一次循环体也不执行的循环语句是while,至少执行一次循环体的循环语句是do-while。

15.若键盘输入字符ABCDE↙(↙表示按下回车键,则下面for语句执行后k的值是 5 。

for(k=0;(c=getchar())!=‟\n‟;k++);16.下述程序段的运行结果是2,1,2。

int a=1,b=2, c=3, t;while (a<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);17.执行下面的程序段后,m的值是30。

int m=1,n=325;do{m*=n%10;n/=10;}while(n);18.下面程序的功能是求1~100之间能同时被3和5整除的数,以8个数为一行的形式输出,将程序补充完整。

相关文档
最新文档