C程序设计基础_复习题
C程序设计复习题(二)

C程序设计复习题(二)C程序设计复习题(二)一、选择1、下面程序的运行结果是______#include#includemain(){ char a[80]=”AB”,b[80]=”LMNP”;int i=0;strcat(a,b);while(a[i++]!=’\0’) b[i]=a[i];puts(b);}A)LB B)ABLMNP C)AB D)LBLMNP2、下面程序的功能是将字符串s中所有的字符c删除。
请选择填空。
#includemain(){ char s[80];int I,j;gets(s);for(i=j=0; s[i]!=’\0’;I++)if(s[i]!=’c’)_________;s[j]=’\0’;puts(s);}A) s[j++]=s[i]; B)s[++j]=s[i]; Cs[j]=s[i];j++; D) s[j]=s[i];3、有下面的程序段:char a[3],b[]=”China”;a=b;printf(“%s”,a);则_______________。
A)运行后将输出China B)运行后将输出ChC)运行后将输出Chi D)编译出错4、下面程序段的运行结果是_______char a[7]=”abcdef”;char b[14]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A)<空格> B)\0 C)e D)f5、以下正确的说法是______在C语言中:A) 实参和与其对应的形参各占用独立的存储单元;B) 实参和与其对应的形参共占用一个存储单元;C) 只有当实参和与其对应的形参同名时才共同占用存储单元;D) 形参是虚拟的,不占用存储单元。
6、以下程序的运行结果是______fun(int x){ if(x/2>0) fun(x/2-2);printf(“%d”,x);}main(){ fun(20);printf(“\n”);}A)20 8 2 -1 B)2 8 20 C)8 D)-1 2 8 207、以下正确的说法是________如果在一个函数的复合语句中定义了一个变量,则该变量______A) 只在该复合语句中有效B) 在本程序范围内均有效C)在该函数中有效D) 为非法变量8、若使用一维数组名作为函数实参,则以下正确的说法是______A)必须在主调函数中说明此数组的大小B)实参数组类型与形参数组类型可以不匹配C)在被调函数中,不需要考虑形参数组的大小D)实参数组与形参数组名必须一致9、若有定义:int a[4][6];则能正确表示a数组中任一元素a[i][j](此处0≤i<4, 0≤j<6)地址的表达式是________。
c语言程序设计基础期中复习题

c语言程序设计基础期中复习题c语言程序设计是计算机科学与技术专业中非常重要的基础课程之一。
它不仅教会我们如何使用计算机语言编写程序,还培养了我们解决问题的逻辑思维能力。
下面是一些c语言程序设计基础的期中复习题,供同学们复习参考。
# 一、选择题1. 以下哪个选项是C语言中的关键字?- A. class- B. int- C. function- D. include2. C语言中,用于定义变量的关键字是:- A. define- B. declare- C. var- D. let3. 以下哪个是合法的C语言标识符?- A. 2variable- B. for- C. variable2- D. int4. 在C语言中,用于表示逻辑“与”的运算符是:- A. &&- B. ||- C. !- D. &5. C语言中,用于实现条件判断的语句是:- A. if- B. switch- C. case- D. default# 二、填空题1. 在C语言中,基本数据类型包括整型(int)、字符型(char)、______(请填写浮点型)等。
2. C语言中,字符常量可以用单引号括起来,例如'A',而字符串常量则需要用双引号括起来,例如"______"。
3. C语言中,一个完整的程序由______和函数组成。
4. 在C语言中,使用______语句可以实现循环控制。
5. C语言中,函数的返回类型是放在函数名之前的,例如int main()表示函数返回类型为______。
# 三、简答题1. 请简述C语言的基本数据类型有哪些,并简要说明它们的特点。
2. 请解释C语言中数组的定义和使用方式。
3. 描述C语言中函数的声明和调用过程。
4. 请说明C语言中指针的概念及其基本操作。
5. 解释C语言中结构体(struct)的作用和定义方式。
# 四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
C程序设计复习题

二、计算题 1、 2.8 2、5.5 三、选择题 C A D C D B
3、a=60
4、4.5
C B C
A D
03. 分支、循环控制程序
一、 计算题
1.a=3,b=4,c=5,a+b>c&&b= =c 2.3>5?3:5<8?25:40 3.设 a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后 m,n 的值?
二、 计算题
1. 2.8+7%3*11%2/4 2. 5/2+5.0/2+7%6 3. a=12,a*=2+3 4. 设 int b=7;float a=2.5,c=4.7;求下面表达式的值。 5. a+(int)(b/2*(int)(a+c)/2)%4
三、 选择题
1. 在 C 语言中,每个语句和数据定义是用( A)句号 B)逗号 下列字符串是标识符的是( ) 。 A)_HJ B)9_student )结束。 C)分号 D)括号
五、 将以下语句改写成 switch 语句:
if((t>0)&&(t<=10)) if((t>=3)&&(t<=6)) x=2; else if((t>1)||(t>8)) x=3; else x=1; else x=0; 参考答案: 一、计算题 1、0 2、25 二、选择题 B C D
3、m=0,n=1
超文本过程
(D)
子程序
5. 下列说法正确的是( ) (A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 (B) 一个函数的函数体必须要有执行部分,可以没有变量定义 (C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 (D) 以上都不对 6. 下列说法正确的是( ) (A) main 函数必须放在 C 程序的开头 (B) main 函数必须放在 C 程序的最后 (C) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一个函数之后, 但在执行 C 程序时是从程序开头执行的 (D) main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一些函数之后, 但在执行 C 程序时是从 main 函数开始的 7. 下列说法正确的是( ) (A) 在执行 C 程序时不是从 main 函数开始的 (B) C 程序书写格式严格限制,一行内必须写一个语句 (C) C 程序书写格式自由,一个语句可以分写在多行上 (D) C 程序书写格式严格限制,一行内必须写一个语句,并要有行号
C语言程序设计基础试题及答案

第一局部C语言根底一、选择题1.以下正确的C语言标识符是〔〕A.%X B.a+b C.a123 D.test!2.已定义int a,b;那么以下不正确的C语句是〔〕A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a;3.假设x、i、j和k都是整型变量,那么执行下面表达式后x的值为〔〕x=(i=4,j=16,k=32)A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符〔〕A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5.下面正确的字符常量是〔〕A.“c〞 B.’\\〞C.‘w’D.〞6.设int a=2,b=0,c;那么执行语句c+=b&&a--后, c的结果为〔〕。
A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是( )A) intB) a_1_2C) ab1exeD) _x8.以下是正确的C语言标识符是( )。
A) #defineB) _123C) %dD) \n9.以下四组字符串中都可以用作C语言程序标识符的一组是( ) 。
A)print B) i\am C) Pxq D) str_l_3d one_half My->book Cpp••• oodbs tart$it line# pow10.下面各选项组中,均是C语言关键字的组是( ) 。
A) auto,enum,includeB) switch,typedef,continueC) signed,union,scanfD) if,struct,type11.以下不属于C语言关键字的是( ) 。
A) defaultB) registerC) enumD) external12.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置13.以下关于C语言的表达错误的选项是( )A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义14.在C语言中,错误的int类型的常数是( ) 。
程序设计基础(C语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。
x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。
——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。
——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。
A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。
C程序设计复习题答案

程序设计基础复习题答案一、填空题1、C语言所提供的实型变量分为两种类型,它们是float和double 。
2、一个C源程序中至少应包含一个主函数或main函数。
3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’4.在标准C5;c[4]的值为 100 。
6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是整型常量或整型表达式。
7.设y为int 型变量,请写出描述“y是偶数”的表达式 (y%2)==0 。
8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=i<j)&&(b=j>k)的值为 0 。
9.与表达式 a+=b 等价的另一书写形式是 a=a+b 。
10.有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是a[1][1] 。
11.代表一个反斜杠字符“\”的转义字符是'\\' 。
12.变量的指针就是变量的地址,存放变量地址的变量就是指针变量,它用来指向另一个变量。
13.++i和i++的不同之处在于i++是先使用i的值后,再执行i=i+1;而++i是先执行i=i+1后,再使用i的值。
14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x<y) && !z||1)值为0 。
15.已知函数int f(int k) { return ((k<0)?1:f(k-2)+2); }则f(3)的值是 5 。
16.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
17.计算表达式:x=(i=4, j=10, k=24)后,x的值为24 。
18.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为10 ,b的值为 6 。
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语言程序设计基础试题及答案

c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。
答案:void3. 在C语言中,________运算符用于连接字符串。
答案:+4. C语言中,________运算符用于比较两个值是否相等。
答案:==5. 在C语言中,________关键字用于定义一个指针变量。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针运算来访问。
2. 解释C语言中函数原型声明的作用。
答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。
它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。
3. 什么是C语言中的预处理指令,举例说明。
答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假1>1为假试题一、单选题1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。
【知识点:难度:正确答案:A】A.-1 B.0 C.1 D.-22. 已知定义int m; float k; 正确的语句是。
【知识点:难度:正确答案:D】A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。
【知识点:难度:正确答案:B】A.m=k=n B.(m=k)&&(n=m)C.(m=k)||(n=k)D.(n=m)&&(m=k)4. 已知int x=5; 表达式6>x>1值是_____。
【知识点:难度:正确答案:A】A.0 B.1 C.5 D.表达式语法错表达式6>x>1 ,先判断6>x 为0,再判断0>1,所以值为0。
(6>x 为1 ,再判断1>1,所以值为0。
)5. 下列程序段执行后c值为_____。
【知识点:难度:正确答案:D】int k=7, c=0;while(--k)if (k%3) continue; else c++;A.5 B.4 C.3 D.26. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=…a‟+…D‟-…A‟;后,ch中的值为_____。
【知识点:难度:正确答案:C】A.d B.c C.100 D.不确定7. 设m,n已正确定义,执行语句{for(m=0, n=10; m<n; m+=3,n--);}以后,m,n的值是________。
【知识点:难度:正确答案:C】A.6,7 B.7,6C.9,7 D.7,98. 已知char *t[] ={”How”, ”are”, ”you!”};则t是_______。
【知识点:难度:正确答案:B】A.指向char变量的指针B.指向字符指针的指针常量C.指向”How”的指针变量D.指向‟H‟的指针9. 假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是______。
【知识点:难度:正确答案:C】A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {…A‟,‟B‟,‟C‟,‟D‟,‟E‟}; puts(s);C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s);《C程序设计基础及实验》10. 以下程序有错,错误原因是______。
【知识点:难度:正确答案:D】main(){ int *p, i; char *q, ch;p = &i;q = &ch;*p = 40;*p = *q;......}A. p和q的类型不一致,不能执行*p=*q;语句B. *p中存放的是地址值,因此不能执行*p=40;语句C. q没有指向具体的存储单元,所以*q没有实际意义D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果11. 若有定义:int a=2, b=5, c=8; 则表达式c |= (~a && b) ^ !(a & b)的值为_____。
【知识点:难度:4正确答案:B】A.14 B.8 C.1 D.012. 设int a=5, b=7, 表达式(++a == b--)? ++ a : --b 的值是_______。
【知识点:难度:2正确答案:C】A.7 B.6 C.5 D.413. 设a=3, b=2, 那么表达式(a=b=7, b=a!=7) 的值是。
【知识点:难度:2正确答案:D】A.1 B.2 C.7 D.0逗号(,)也可以是运算符,逗号表达式最右边的子表达式的值即为逗号表达式的值。
而b=a!=7的值为0逗号运算符只取最右边的子表达式的值,但每个子表达式都要运行14. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行语句(m=a>b)&&(n=c>d);后n的值是_____。
【知识点:难度:3正确答案:A】A.2 B.1 C.0 D.3&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true 时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,15. 下列程序段的输出结果是_____。
【知识点:难度:3正确答案:B】int k=2, s=0;switch (k) {case 2: s++; k++;《C程序设计基础及实验》case 1: s++;case 3: s+=1;switch(s){case 2: s+=2; break;default: k++; break;}default: s+=3;}printf("%d#%d#", s, k);A.1#3# B.6#4# C.3#2# D.3#4#16. 下列程序的输出结果是_____。
【知识点:难度:2正确答案:C】int f(int x){ static int k;return ++k + x;}main( ){ int k;for(k=1; k<4; k++) printf("%d#", f(k) );}A.2#5# B.3#6# C.2#4#6# D.不确定17. 下列程序的输出结果是_____。
【知识点:难度:2正确答案:D】main(){ char x=040;printf("%o\n",x<<1);}A.o B.40 C.1000000 D.10018. 下列程序段的输出是__________。
【知识点:难度:3正确答案:A】main(){ int x= -9, y=5, z=8;if(x=y)if(x>0)z=0; else z+=1;printf("z=%d\n", z);}A.z=0 B.z=1 C.z=8 D.z=9《C程序设计基础及实验》esle子句与其之前最近的不完整if配对。
C语言中等号“=”为赋值运算符,不用于判断相等,判断相等应用“==”,因此执行x=y后,x=5,if(5)相当于if( true), 执行if(x>0)z=0,所以z=019. 下列程序段的输出是__________。
【知识点:难度:3正确答案:B】#define SQ(a,b) (a*a-2*a*b+b*b)main(){ int k=4;printf("%d", SQ(k, k-1) );}A.1B.-18 C.-15 D.-8#define定义一个宏(不是一个函数),用于字符串的替换,注意替换不是用数值去替换,也不会自动加括号,因此SQ(k,k-1)=k*k-2*k*k-1+k-1*k-1=-k*k-2SQ(4,3)=-4*4-2=-1820. 若运行以下程序时,从键盘输入Hello_Everyone!<CR>(<CR>表示回车),则下面程序的运行结果是_________。
【知识点:难度:2正确答案:C】main(){ char c;int v1=0,v2=0;do{switch(c=getchar()){case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O':case 'u': case 'U': v1+=1;default: v1+=1;v2+=1; }} while( c != '\n' );printf("%d,%d\n", v1, v2);}A.6,10 B.21,10 C.22,10 D.6,921. 下列程序段输出_____。
【知识点:难度:4正确答案:D】main(){ char str[2][5] = { "abcd" };strcpy( str[0], "You" ); strcpy( str[1], "Me" );str[0][3] = '&';《C程序设计基础及实验》printf( "%s\n", *str );}A.You&Me B.abcd C.abc& D.You&22. 对于函数f,调用f (12345) 的输出是_____。
【知识点:难度:3正确答案:A 】void f (int n){ if(n<10) printf( "%1d", n );else { f(n/10); printf( "%1d", n%10); }}A.12345 B.54321 C.11111 D.543223. 下列程序段的输出结果是_____.【知识点:难度:2正确答案:B】void fun(char *fname,char *st){ FILE *myf; int i;myf = fopen(fname,"w" );for(i=0; i<strlen(st); i++) fputc(st[i], myf);fclose(myf);}void main(){fun("test_", "C_");fun("test_", "is_fun");}A.C_is_fun B.is_fun C.test_is_fun D.C_试题二、程序阅读题1. 以下程序的输出结果是_______。
【知识点:难度:3正确答案:C】main(){ char ch[2][5]= { "1234", "5678" }, *p[2];int i,j,s=0;for(i=0; i<2; i++)p[i]= ch[i];for(i=0; i<2; i++)for(j=0; p[i][j]> ′\0′;j+=2)s=10*s + p[i][j]- ′0′;printf("%d\n", s);}A.1537 B.2468 C.1357 D.26482. 运行下列程序的输出结果是__________。