C语言程序设计_第一阶段练习参考答案
C语言程序设计_第一阶段练习参考答案
江南大学现代远程教育第一阶段练习题考试科目:《C语言程序设计》第一章至第四章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共20题,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 有以下程序main(){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()。
(2 分)A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,32. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是()。
(2 分)A. 6B. 0C. 2D. 13. 执行以下程序段后,变量a,b,c的值为()。
int x=11,y=10,a,b,c;a=(--x==y++)?--x:++y;b=x++; c=y; (2 分)A. a=10,b=10,c=9B. a=9,b=9,c=12C. a=9,b=9,c=11D. a=1,b=9,c=114. 以下程序的输出结果是用()表示。
main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);} (2 分)A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,115. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车> ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。
(2 分)A. scanf(“%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf(“%d,%d,%d”,&i,&j,&k);D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);6. 以下非法的赋值语句是()。
C语言程序设计练习题(含程序及参考答案)1
C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。
#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。
国家开放大学C语言程序设计章节测试参考答案
国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
《C语言程序设计教程》第三版课后习题参考答案
《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
C语言程序设计第一章参考答案
第一章参考答案1.3.1思考:1.error C2199: syntax error : found 'int (' at global scope (was a declaration intended?)error C2143: syntax error : missing ';' before '{'error C2447: missing function header (old-style formal list?)在c程序设计中特别要注意每个程序都有且只有一个主函数,切忌不可忘了主函数main. 2. error LNK2001: unresolved external symbol _mainfatal error LNK1120: 1 unresolved externals在c程序设计中要注意区分大小写,相同的字符的大小写所代表的意义可能完全不一样。
3.error C2146: syntax error : missing ';' before identifier 'printf'.在c程序设计中要注意每个完整的语句后面都必须要有“;”,否则就会出现错误。
4.error C2065: 'printf' : undeclared identifiererror C2146: syntax error : missing ';' before identifier 'printf't.在c程序设计中#include<stdio.h>是包含头文件函数库,象标准的输入和输出函数’scanf’和’printf’都是包含定义在#include<stdio.h>中的。
所以一般的函数都不应缺少这个头文件。
5在例1-1.c中,任何一行的输出语句中少了符号\n,将会使下一条语句的输出紧跟在该行,而不会出现在例1-1.c那样的每行输出一条语句。
c语言程序设计第一章试题及答案
c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。
答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。
答案:03. C语言中,用于输出一个浮点数的函数是________。
答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。
局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。
2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作内存中的数据。
3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。
4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。
C语言程序设计_第一阶段练习参考答案
江南大学现代远程教育第一阶段练习题考试科目:《C语言程序设计》第一章至第四章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共20题,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 有以下程序main(){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()。
(2 分)A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,32. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是()。
(2 分)A. 6B. 0C. 2D. 13. 执行以下程序段后,变量a,b,c的值为()。
int x=11,y=10,a,b,c;a=(--x==y++)?--x:++y;b=x++; c=y; (2 分)A. a=10,b=10,c=9B. a=9,b=9,c=12C. a=9,b=9,c=11D. a=1,b=9,c=114. 以下程序的输出结果是用()表示。
main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);} (2 分)A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,115. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车> ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。
(2 分)A. scanf(“%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf(“%d,%d,%d”,&i,&j,&k);D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);6. 以下非法的赋值语句是()。
c语言程序设计(第1部分)选择
选择题(第一部分)1、有以下程序void fun(int a[],int i,int j){ int t;if(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++; j--;fun(a,i,j);}}main(){ int x[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x[i]);printf("\n");}程序运行后的输出结果是______。
A:1 2 6 8B:8 6 2 1C:8 1 6 2D:8 6 1 2答案:C评析:本题考的是函数参数的传递。
当用数组名作函数参数时,数组名代表数组的首地址。
fun(x,0,3);是将数组名x作为实参,把数组x 的首地址传送给形参(指针a),这样数组x与形参指针a共占同一段内存单元,所以在调用函数期间,如果改变了形参数组x的值,也就改变了实参指针a的值。
另外此题还考了个函数自身的调用,下面是调用fun()函数的运行过程:a=x,i=0,j=3,判断i<j,交换a[i],a[j],此时a[0]到a[3]里面的数分别为8,6,1,2,也即是 x[0]到x[3]中的数值,因为它们共用存储单元;i++; j--后继续调用fun(),此时i,j分别为1,2,交换a[1],a[2]的值后a所指向的存储单元中的数据为8,1,6,2;继续i++; j--后判断i<j不成立,返回主函数,输出x[i]即指针a所指向的数据8,1,6,2。
故本题答案为C。
2、有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是______。
《C语言程序设计教程》习题参考答案1
《C语言程序设计教程》习题参考答案11.5请参照本章例题,编写一个C程序,输出以下信息:************Very Goodj!************解:main(){printf(" ************ \n");printf("\n");printf(" Very Good! \n");printf("\n");printf(" ************\n");}1.6编写一个程序,输入a b c三个值,输出其中最大者。
解:main(){int a,b,c,max;printf("请输入三个数a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)< p="">max=b;if(max<c)< p="">max=c;printf("最大数为:%d",max);}第三章3.3 请将下面各数用八进制数和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003解:十八十六(10)=(12)=(a)(32)=(40)=20(75)=(113)=4b(-617)=(176627)=fd97-111=177621=ff912483=4663=963-28654=110022=901221003=51013=520b3.5字符常量与字符串常量有什么区别?解:字符常量是一个字符,用单引号括起来。
字符串常量是由0个或若干个字符而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号'\0'. 3.6写出以下程序的运行结果:#includevoid main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);解:程序的运行结果为:aabb cc abcA N3.7将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母, 例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre". 请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并输出.main(){char c1="C",c2="h",c3="i",c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);}3.8例3.6能否改成如下:#includevoid main(){int c1,c2;(原为char c1,c2)c1=97;c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);}解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.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)3.10写出下面程序的运行结果:#includevoid 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,11,9,10第4章4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得到以下的输出格式和结果,请写出程序要求输出的结果如下:a= 3 b= 4 c= 5x=1.200000,y=2.400000,z=-3.600000x+y= 3.60 y+z=-1.20 z+x=-2.40u= 51274 n= 128765c1='a' or 97(ASCII)c2='B' or 98(ASCII)解:main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);printf("u=%6ld n=%9ld\n",u,n);printf("c1='%c' or %d(ASCII)\n",c1,c2);printf("c2='%c' or %d(ASCII)\n",c2,c2);}4.5请写出下面程序的输出结果.结果:575 767.856400,-789.12396267.856400 ,-789.12396267.86,-789.12,67.856400,-789.123962,67.856400,-789.1239626.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,17777,ffff,-1COMPUTER, COM4.6用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a', 问在键盘上如何输入?main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d,&a,&b);scanf(" x=%f y=%e",&x,&y);scanf(" c1=%c c2=%c",&c1,&c2);}解:可按如下方式在键盘上输入:a=3 b=7x=8.5 y=71.82c1=A c2=a说明:在边疆使用一个或多个scnaf函数时,第一个输入行末尾输入的"回车"被第二个scanf函数吸收,因此在第二\三个scanf函数的双引号后设一个空格以抵消上行入的"回车".如果没有这个空格,按上面输入数据会出错,读者目前对此只留有一初步概念即可,以后再进一步深入理解.4.7用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=57.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",&a,&b,&c1,&c2,&x,&y,&z);}运行时输入:10 20Aa1.5 -3.75 +1.5,67.8注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。
第1部分_C语言程序设计练习一
《C语言程序设计》练习一一、单项选择题1.下面转义字符中,表示字符串结束的是()A.\ rB.\ nC.\ 0D.\ f2.在Turbo C2.0中,若定义unsigned int a;则变量a在内存中分配的字节数是()A.1个B.2个C.4个D.8个3.设有int x=2,y,z;执行z=y=x--;后,变量z的值是()A.0B.1C.2D.34.以十六进制形式输出整数的格式说明符是()A.%uB.%ldC.%xD.%o5.下面合法的if语句是()A.if(a=b) c++;B.if(a=<b) c++;C.ifi(a< >b) c++;D.if(a=>b) c++;6.结束while(表达式)循环的条件是()A.当表达式的值为0时B.当表达式的值不为0时C.当表达式的值为1时D.当表达式的值为非1时7.下面列出的位运算符中,表示按位与操作的是()A.~B.&C.^D.|8.设有说明:int x=0x03,y=3;表达式x&~y的值是()A.0B.1C.2D.39. 设有int a=3, b=-4, c=5;表达式(a<b)? a+b:(a-b,b+4,a-=b+4)的值是()A. –1B. 0C. 3D. 710. 若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是()(其中<CR>表示换行)int a, b;scanf(″a=%d b=%d″,&a, &b);A. 2<CR>B. a=2 b=3<CR>C. a=2, b=3<CR>D. 2,3<CR>3<CR>11. 下列if语句中,有语法错误..的是()A. if(x>y);B. if(x=y) x+y;C. if(x!=y) scanf(″%d″, &x) else scanf(″%d″,&y)D. if(x<y) {x++; y++;}12. 下面程序段执行后的输出结果是()int i=-1;if(i<=0) printf(″* * * * \n″);else printf(″%%%%\n″);1A. ****B.%%%%C. %%%%cD. ****c13. 下面程序段的循环次数是()int k=2;while(k==0) printf(″%d″,k);k--; printf(″\n″);A. 0次B. 1次C. 2次D. 无限次14. 下面各个位运算符的优先级从左到右依次升高的是()A. | ^ & >>B. ^ >> & ~C. << | ^ ~D. ~ | & >>15. 设有说明:int u=1, v=14;表达式u+v>>2的值是()A. 0B. 3C. 5D. 716.设有int a =3, b=-4, c=0;表达式((a>b)?a:b)&&c<0的值是()A.-4B.0C.1D.317.若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是()(其中<CR>表示换行)int a, b;scanf(″a=%d, b=%d″,&a,&b);A.2<CR>B.a=2 b=3<CR>C.a=2, b=3<CR>D.2,3<CR> 3<CR>18.关于if语句下面叙述正确的是()A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句B.只有当if语句中表达式的值为假时,才执行if的内嵌语句C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句D.只要if语句中表达式的值非0时,就执行if的内嵌语句19.若int x=0; 则while(x==0); 的循环次数是()A.0B.1C.2D.无限次20.下面各个运算符的优先级从左到右依次降低的是()A.& >> | ^B.~ & >>|C.>> & ^ |D.~ >> & ^21.设有说明:int u=1, v=2;表达式:u+v<<2的值是()A.-1B.1C.9D.1222.字符串常数“CHINA”在内存中存储时占的字节数是()A.5个B.6个C.7个D.8个23 23.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c<d?c:d 的值是( )A .1B .2C .3D .424.输出字符串的格式说明符是( )A .%cB .%sC .%uD .%g25.设有说明int x=0,y=0;则执行if(x++)y=1+x;else y=2+x ;后,变量y 的值是( )A .0B .1C .2D .326.以下程序段所表示的数学函数关系是( )y=-1if(x!=0) if(x>0) y=1;else y=0;A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x y B .⎪⎩⎪⎨⎧>=-<=)0(0)0(1)0(1x x x yC .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x yD .⎪⎩⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y27.执行下面程序段后,输出字符A 的个数是( )for(i=0;i<=5;i+=2)printf(″A ″);A .0个B .3个C .5个D .6个28.设有说明:int x=0x15,y=0x0f ;则x&y 的结果是( )A .0x5B .0x15C .0xf0D .0xf529.如果在程序中要使用系统提供的函数strlen,则需要书写的编译预处理命令是() A .#include<stdio.h> B .#include<math.h>C .#incLude<string.h>D . #incLude<malloc.h>30.整数-2在机器内存中的表示是( )A .1000000000000010B .1111111111111110C .11111111111111101D .111111111111111131.下列运算符中优先级最低的是( )A .>B .!C .%D .= =32.设有int a=3,b=-4,c=5;表达式+ +a-c+b+ +的值是()A.-6 B.-5 C.-4 D.-333.以十进制无符号形式输出整数的格式说明符是()A.%u B.%x C.%o D.%d34.执行while(表达式)循环的条件是()A.当表达式的值为0时B.仅当表达式的值为1时C.当表达式的值非0时D.当表达式的值不为1时35.下列位运算符中,表示按位异或操作的是()A.~ B.│C.^ D.&36.下列各个位运算符的优先级从左到右依次升高的是()A.>>│& ~B.│>> & ~C.│& >> ~D.~│& >> 37.设有说明:int u=1,v=3;则表达式u<<= v的值是()A.0 B.1C.3 D.838.下列转义字符中,表示回车的是()A.\0 B.\n C.\r D.\f39.若定义double d;则d在内存中分配的字节数是()A.1个B.2个C.4个D.8个40.下列表达式中运算结果为3的表达式是()A.(-7)%4 B.7/4+2 C.7/4*4-4 D.8/3+8/3 41.设有int a=3,b=-4,c=5;表达式a++-c+b++的值是()A.-6 B.-5 C.-4 D.-342.在printf语句中,格式说明符u表示()A.以十进制带符号形式输出整数B.以十六进制带符号形式输出整数C.以十进制无符号形式输出整数D.以十六进制无符号形式输出整数43.关于switch中的表达式,正确的说法是()A.它必须是算术表达式B.它必须是关系表达式C.它必须是逻辑表达式D.它可以是任意类型的表达式444.对do语句while(表达式);结构的循环,下列说法正确的是()A.当表达式的值为非零时不执行循环体B.循环体至少被执行一次C.当表达式的值为零时循环体一次也不执行D.循环体仅被执行一次45.只能在循环语句中用于结束本轮循环的语句是()A.break; B.continue; C.goto D.if46.下列是合法C语言常量的是()A. eB. 7E4.0C. E4D. -9.13E-3047.设有int a=3,b=-4,c=5;表达式(a<b)?a:b&&c<0的值是()A. 0B. 1C. 3D. 448.以指数形式输出实型数的格式说明符是()A. %uB. %xC. %fD. %e49.下列各个位运算符的优先级从左到右依次降低的是()A. | & ˆ > >B.ˆ & > > |C. ~> > ˆ |D. ~> > | ˆ50.设有说明:int u=1,v=3,w=5;表达式:v &~~u|w的值是()A. 3B. 5C. 6D. 851.在Turbo C 2.0中,若定义char ch;则变量ch在内存中分配的字节数是()A.1个B.2个C.4个D.8个6<CR>52.下面程序段的输出结果是()main(){int a=2,b=5;printf(″a=%d%%,b=%d%%″,a,b);}A.a=2,b=5B.a=2%,b=5%C.a=%2,b=%5D.a=%d,b=%d53.设有条件表达式(exp)? a++:b--,则下列表达式中能够与该表达式完全等价的表达式是()A.(exp!=0)? a++∶b--B.(exp==0)? a++∶b--C.(exp==1)? a++∶b--D.(exp!=1)? a++:b--54.对于for(表达式l;表达式2;表达式3)语句;控制循环结束的表达式是()A.表达式1B.表达式2C.表达式3D.表达式l和表达式355.设有int x=2,y,z;执行z=y=x——;后变量y的值是()A.0B.1C.2D.356.在下列选项中,没有构成死循环的程序段是()A.int i=100;B.for(;;);while(1){ i=i%100+1;if(i>100)break;}5C.int k=1000;D.int s=36;do{++k;}while(k>10000);while(s);一一s;57.设有说明:int u=l,v=3,w=5;表达式:u<<=(v|w)的值是()A.1B.5C.13D.12858.设有说明:int u=1,v=3,w=2;表达式(v>>1|u<<2)&w的值是()A.0B.1C.3D.559. 下面程序段的输出结果是()main(){ int s, p;s=p=5;p=++s;p++; ++p;printf(″%d\n″,p);}A. 5B. 6C. 7D. 860. 下面程序段的输出结果是()a=100;while(a>120);a=a+1;printf(″%d″,a);A. 100B. 101C. 120D. 12161.下面程序段的输出结果是()main( ){ int s, p;s=p=5;p=--s;p++;++p;printf(″%d\n″,p);}A.5B.6C.7D.862.若执行下面程序时,从键盘输入数据3和4,则程序的输出结果是()main( )6{ int a,b,s;scanf(″%d″, &a,&b);s=a;if(a<b) s=bs=s*s;printf(″%d″,s);}A.9B.12C.16D.2563.下面程序段的输出结果是()for (i=1; i<3;i++){for (j=1;j<3;j++)printf(″%d ″, i+j);printf(″\n″);}A.2 3 3 4B.2 3 4C.2 3D.23 4 3 4 64.下列程序段的输出结果是()void main(void){int y=1,x=5;if(x<0)y=-1;if(x>=0)y=0;printf("%d\n",y);}A.-1 B.0 C.1 D.5 65.执行如下程序段后,x的值是()int x=1,y=-1;if(y<0)x-=y;else x+=y;A.-1 B.0 C.1 D.2 66.下列程序段输出的结果是()for(i=1;i<3;i+ +)for(j=1;j<3;j+ +)7printf("%d",i+j);A.2 3 3 4 B.2 3 4C.2 3 D.23 4 3 467.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是()if(a<b){if(c= =d)x=c;}elsex=d++A.4 B.5 C.6 D.768.下列程序的输出结果是()main( ){ int x=5,y;if(x<0)y=-1;if(x==0)y=0;y=1;p rintf(″%d″,y);}A. -5B. -1C. 0D. 169.下列程序段的输出结果是()i=1;while(i<3){j=1;while(j<=i){ printf(″%d″,i+j);j++;}i++;printf(″\n″);}A. 2 3 3 4B. 2 3 4C. 2 3D.23 4 3 4870.设有下列程序:()#include″stdio.h″main( ){unsigned x=8,y=2;printf(″%d\n″,y|~(x&y));}该程序的运行结果是A. -1B. 0xffC.127D. 6553571.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是()void main(void){int x;scanf("%d",&x);if(x + + >5)printf("%d",x);else printf("%d\n",x——);}A.7和5B.6和3C.7和4D.6和472.设有下面程序:# include"stdio.h"void main(void){unsigned x=1,y=3,z=5;printf("%d\n",z^x&y);}该程序的运行结果是()A.0B.3C.4D.59。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
C程序设计第1-7章部分习题参考答案
课后习题解答(第1-7章)第一章1_1.1_1_2判断正误:即使两个整型数据未超出该数据的取值范围,它们的和也可能会超出该数据取值范围。
正确。
1_1_4判断正误:一个C程序可以有多个函数,其中主函数必须在程序的最开头。
错误。
其它函数如果要在主函数中使用的话,必须先在主函数之前定义或者声明。
1_1_6判断正误:若有定义“float x=1.3;”,则表达式(int)x的值为1,因此可以说x中存放的值就是1。
错误。
(int)x表达式的值与x的值是不一样的,前者是对x取整后的数值,而取整运算对x 自身的值不会产生影响。
1_1_8判断正误:若有命令行“#define N 1000”,则N++是不合法的表达式。
正确。
N为符号常量,不能对符号常量进行修改。
1_1_10 C程序是由函数构成的,一个C程序必须有一个主函数。
1_1_12以下变量中不合法的是②、④、⑥,合法的是①、③、⑤、⑦、⑧。
①name ②double ③Int ④if ⑤for_1 ⑥2k ⑦a12345678 ⑧_a1_1_14下面程序段的输出结果是1,1.000000int a; double b;a=b=123/100%2;printf("%d,%f", a, b);1_1_16 a*a*a*b*b/(c-d)1_1_20假设圆柱体的底面半径为r(=2.5),高为h(=3.5),请按下面给定的步骤编写求体积(体积=底面积X高)的程序。
①定义变量r,h,v(存放体积值),注意变量的数据类型。
②给变量r,h赋值。
③计算体积,并将结果存放在v中。
④输出r,h,v的值。
程序如下:#include <stdio.h>#define PI 3.1415926main(){float r, h, v;r=2.5;h=3.5;v=PI*r*r*h;printf("r=%f, h=%f, v=%f\n", r, h, v);}1_1_22编写输出以下图形的程序。
《C语言程序设计》课后习题答案(第四版)
《C语言程序设计》课后习题答案(第四版) C语言程序设计课后习题答案(第四版)1. 基础知识概述C语言程序设计是一门广泛应用于软件开发领域的编程语言。
它以其简洁、高效以及可移植性而备受推崇。
本文将为读者提供《C语言程序设计》(第四版)课后习题的详细解答,帮助读者加深对C语言的理解。
2. 第一章习题答案2.1 习题1题目:编写一个C语言程序,输出"Hello, World!"。
解答:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```2.2 习题2题目:编写一个C语言程序,接收用户输入的两个整数,并输出它们的和。
解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d", sum);return 0;}```3. 第二章习题答案3.1 习题1题目:编写一个C语言程序,接收用户输入的一个整数,并判断它是否为偶数。
解答:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("这个数是偶数");} else {printf("这个数不是偶数");}return 0;}```3.2 习题2题目:编写一个C语言程序,接收用户输入的一个字符,并判断它是否为字母。
C语言程序设计基础知识 习题一及参考答案
第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。
A)机器语言B)汇编语言C)高级语言D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。
A)设计数据结构和算法B)建立数学模型C)编写程序D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。
A)枚举法B)递推法C)分治法D)排序法4、以下不属于算法基本特征的是( )。
A)有穷性B)有效性C)可靠性D)有一个或多各输出5、以下描述中不正确的是( )。
A)程序就是软件,但软件不紧紧是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。
D)计算机语言只能编写程序而不能表示算法。
6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。
B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。
7、下面描述中,不正确的是( )。
A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。
D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是( )。
A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。
C)简单、只管。
D)有利于编写程序。
A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。
(判断条件)2、结构化程序设计是__________应遵循的方法和原则。
(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。
(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。
(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。
C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1-8参考答案题目描述:编写一个C语言程序,接受用户输入的两个整数,并计算它们的和、差、乘积和商并输出结果。
解答:```c#include <stdio.h>int main() {int num1, num2;int sum, difference, product;float quotient;// 提示用户输入两个整数printf("请输入两个整数:");scanf("%d %d", &num1, &num2);// 计算和sum = num1 + num2;printf("和:%d\n", sum);// 计算差difference = num1 - num2;printf("差:%d\n", difference);// 计算乘积product = num1 * num2;printf("乘积:%d\n", product);// 计算商if (num2 != 0) {quotient = (float)num1 / num2;printf("商:%f\n", quotient);} else {printf("除数不能为0。
\n");}return 0;}```上述代码是一个简单的C语言程序,用来接收用户输入的两个整数,并计算它们的和、差、乘积和商。
程序运行后,首先会提示用户输入两个整数,接着计算并输出结果。
在程序中,首先定义了变量`num1`和`num2`来存储用户输入的两个整数。
然后,定义了变量`sum`、`difference`、`product`和`quotient`来分别存储计算结果。
`sum`用于存放和,`difference`用于存放差,`product`用于存放乘积,`quotient`用于存放商。
C语言程序设计教程习题答案(第一章)
习题参考答案第一章一选择题1 答:选B。
分析:在C语言中,程序中的注释可以出现在程序中任何地方,为了方便程序理解,一般不建议写在变量名或关键字的中间,但这样写程序是允许的,故选项A不正确。
在C语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”、“-”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换成ASCII值进行运算,故选项C不正确。
C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误,故选项D也不正确。
2 答:选D。
分析:C语言中的标识符只能由字母、数字和下划线构成,并且第一个字符必须是字母或者下划线,同时不能与C语言中的关键字相同。
3 答:选C。
分析:在C语言的算术运算符中,取余运算符”%”的左右两侧的两个运算分量必须是整数,所以选项C的赋值语句是错误。
4 答:选B。
5 答:选B。
分析:选项A和B互斥,因此必有一个是错误的,在C语言运行工程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。
6 答:选A。
分析:选项A中整数常量不能有千位分隔符,错误。
选项B表示的是一个转义字符,三位八进制数代表一个ASCII字符。
7 答:选A。
分析:实数常量的指数形式要求字母e(或E)前后必须有数字,且后面的指数必须为整数。
所以选项B、C、D均是不合法的指数形式。
8 答:选A。
分析:此题考查C语言中赋值表达式的概念。
用一个赋值运算符“=”将一个变量和一个表达式连接起来的式子称为赋值表达式。
选项A中缺少表达式。
9 答:选B。
分析:根据优先级先计算x/y,即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,由于z定义为整型,故最终结果为1。
二上机改错题1 答:第一行的末尾有多余的分号“;”第一行的文件名stdio.h缺双引号“”或< >括住第二行主函数main的末尾有多余的“;”第二行的注释有错,C语言规定“/”与“*”之间不能有空格main函数体缺函数体括号“{}”第三行的注释有错,C语言规定:注释内容由一对“/*”和“*/”括住,并且“/*”总是与离它最近的“*/”配对,由此可以看出,改行注释中有一个多余的“,”,末尾的“*/”由于没有“/*”与之配对,因此也是多余的。
新编C语言程序设计教程练习一参考答案
练习一1.1写出最简单的C程序。
答:void main( ){}1.2用一条C语句完成下述要求。
a)把变量x,y,z和result定义为int类型。
b)提示用户输入三个整数。
c)从键盘读取三个整数并把它们存储在变量x,y,z中。
d)计算变量x,y和z所存储的整数的和,并把计算结果赋给变量result.e)打印出“The sum is ”并紧接着打印出变量result的值。
答:a)int x, y, z, result;b)printf(〞请输入三个整数\n〞);c)scanf(〞%d%d%d〞, &x, &y, &z);d)result = x + y + z;e)printf(〞The sum is %d〞, result);1.3用练习1.2中的语句写出计算三个整数和的完整的程序。
答:void main( ){int x, y, z, result;printf(〞请输入三个整数\n〞);scanf(〞%d%d%d〞, &x, &y, &z);result = x + y + z;printf(〞The sum is %d〞, result);}1.4指出并改正下列语句中的错误(每条语句可能不止一个错误)。
a)scanf(〞%d,value〞);b)printf(〞The sum of %d and %d is %d〞\n,x,y);c)*/Program to determine the largest of three in integers/*d)p r intf(〞The value you entered is %d〞\n,&value);e)int return=10;答:a)scanf(〞%d〞, &value);b)printf(〞The sum of %d and %d is %d\n〞, x, y, x + y);c)/* Program to determine the largest of three in integers*/d)p r intf(〞The value you entered is %d\n〞, value);e)int ret=10;//关键字不能作变量名1.5 在VC6.0中编译运行程序1-1,1-4和练习1.3所写的程序。
《C语言程序设计(第五版)》习题答案
《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。
每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。
函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。
函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。
函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江南大学现代远程教育第一阶段练习题考试科目:《C语言程序设计》第一章至第四章(总分100分)学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共20题,总分值40 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 有以下程序main(){ int i=1,j=1,k=2;if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()。
(2 分)A. 1,1,2B. 2,2,1C. 2,2,2D. 2,2,32. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是()。
(2 分)A. 6B. 0C. 2D. 13. 执行以下程序段后,变量a,b,c的值为()。
int x=11,y=10,a,b,c;a=(--x==y++)?--x:++y;b=x++; c=y; (2 分)A. a=10,b=10,c=9B. a=9,b=9,c=12C. a=9,b=9,c=11D. a=1,b=9,c=114. 以下程序的输出结果是用()表示。
main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);} (2 分)A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,115. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车> ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。
(2 分)A. scanf(“%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf(“%d,%d,%d”,&i,&j,&k);D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);6. 以下非法的赋值语句是()。
(2 分)A. n=(i=2,++i);B. j++;C. ++(i+1);D. x=j>0;7. 已知c是字符型变量,以下不正确的赋值语句是()。
(2 分)A. c=”a”B. c=’a’C. c=’\141’D. c=’\x61’+38. 以下不符合C语言语法的赋值表达式是()。
(2 分)A. d=9+e,e++,d+9B. k=i= =jC. n1+=n2+3D. a=b+c=a+79. 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是()。
(2 分)A. 8,6B. 8,3C. 6,4D. 7,410. 字符串”\\\’abcd\123\xAB\t”的长度为()。
(2 分)A. 8B. 17C. -9D. 1011. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是()。
(2 分)A. s=a+b;B. s=a+c;C. s=s+c;D. s=b+c;12. 以下选项中合法的实型常数是()。
(2 分)A. 5E2.0B. E-3C. .2E1D. 1.3E13. 下列说法中正确的是()。
(2 分)A. 在switch语句中一定要使用break语句B. 在switch语句中不一定要使用break语句C. break语句是switch语句的一部分D. break只能用于switch语句中14. C语言中对于嵌套if语句规定else总是与()配对?(2 分)A. 第一个ifB. 其之前最近的ifC. 缩进位值相同的ifD. 其之前最近的不带else的if语句15. 以下选项中,与k=n++完全等价的表达式是()。
(2 分)A. k=n,n=n+1B. n=n+1,k=nC. k=++nD. k+=n+116. C语言中各种基本数据类型的存储空间长度排列为()。
(2 分)A. char≤long≤int≤float≤doubleB. double≤float≤long≤int≤charC. char≤int≤long≤float≤doubleD. float≤int≤long≤char≤double17. 下面的for循环最多可执行()次。
for(x=0;y=0;(y!=99)&&(x<4);x++); (2 分)A. 4次B. 5次C. 99次D. 0次18. 下列关于C语言用户标识符的叙述中正确的是()。
(2 分)A. 用户标识符中可以出现在下划线和中划线(减号)。
B. 用户标识符中不可以出现中划线,但可以出现下划线。
C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头。
D. 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。
19. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。
(2分)A. 6.500000B. 6C. 5.500000D. 6.00000020. 下列判断char类型变量C1是为数字的最简单且正确的表达式()。
(2 分)A. '0'<=C1<='9'B. (C1>='0')&&(C1<='9')C. (C1>=0)&&(C1<=9)D. ('0'<=C1)&&('9'<=C1)二填空题 (每空2分,总分值30 )21. break语句的功能__________________________ ,contitue语句的功能__________________________ 。
22. 以下程序实现求100~200,400~600间的全部素数,并以10个数一行的格式输出。
#include <math.h>main(){int m,k,I,n=0;for(m=101;m<=600;m+=2){if(m>200 __________________m<400)__________________________;k=sqrt(m);for(I=2;I<=k;I++)if(m% I= =0)__________________________;if( __________________________) {printf(“%d”,m);n=n+1;}if(n%10= =0) printf(“\n”);}printf(“\n”);} (6 分)23. 下述程序段的运行结果是__________________________。
int x,y;x=17;y=26;printf(“%d”,y/=(x%=6));24. #include “stdio.h”main(){ char c;scanf(“%c”,&c);switch (c-‘2’){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}printf(“\n”);}当分别输入1,2,5时,输出为________________________________、________________________________、________________________________。
25. 斐波纳契数列中头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,……等。
求斐波纳契数列的前20个数。
要求每行输出5个数。
请填空。
#include <stdio.h>main(){int f,f1,f2,I;printf(“Fibonacci series :\n”);f1=0;f2=________________________________;printf(“%6d,%6d,”,f1,f2);for(I=3;I<=20; _________________________){ f=________________________________;printf(“%6d,”,f);if(________________________________)printf(“\n”);f1=f2;f2=________________________________;}printf(“\n”);}三编程题 (共2题,总分值30 )26. 利用循环实现打印以下图形。
(15 分)27. 采用二分法求方程2(x³)-4(x²)+3x-6=0在(-10,10)之间的根。
(15 分)。