C语言程序设计_补考复习资料
c语言补考试题及答案

c语言补考试题及答案**C语言补考试题及答案**一、选择题(每题2分,共20分)1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D2. C语言中,哪个关键字用于声明一个函数?A. intB. voidC. functionD. return答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable$name答案:B5. C语言中,哪个函数用于计算并返回两个整数的最大值?A. max(int a, int b)B. max(float a, float b)C. max(double a, double b)D. max(char a, char b)答案:A6. C语言中,以下哪个选项是正确的字符串声明方式?A. char str[10] = "Hello";B. char str = "Hello";C. string str = "Hello";D. char str[] = "Hello";答案:A7. C语言中,哪个关键字用于在函数内部声明局部变量?A. globalC. localD. auto答案:D8. 在C语言中,以下哪个选项是正确的数组声明方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = 1, 2, 3, 4, 5;答案:C9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcat答案:A10. 在C语言中,以下哪个选项是正确的结构体声明方式?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;string name;};D. struct {int id;char name;} Student;答案:A二、填空题(每题3分,共15分)1. C语言中,用于声明一个整型变量的关键字是________。
c语言补考试题及答案

c语言补考试题及答案C语言补考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 123abcB. var1C. forD. case答案:B2. 在C语言中,以下哪个语句是正确的?A. int a = 10;B. int a = "10";C. int a = 10.0;D. int a = 0x10;答案:A3. 下列哪个是C语言中的逻辑运算符?A. &&B. ||C. =D. ++答案:A4. C语言中,以下哪个不是标准库函数?A. printf()B. scanf()C. strcpy()D. myFunction()答案:D5. 在C语言中,以下哪个是正确的数组声明?A. int array[10] = {1, 2, 3};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3, 4, 5, 6};D. int array = {1, 2, 3};答案:B6. C语言中,以下哪个是正确的字符串字面量?A. 'Hello World'B. "Hello World"C. Hello WorldD. "Hello\nWorld"答案:B7. 以下哪个是C语言中的控制语句?A. ifB. switchC. do-whileD. 所有选项都是答案:D8. 在C语言中,哪个关键字用于定义函数?A. functionB. defC. voidD. int答案:C9. 下列哪个是C语言中的位运算符?A. +B. -C. &D. /答案:C10. 在C语言中,以下哪个是正确的循环结构?A. for(;;)B. while(1)C. do { ... } while(0)D. 所有选项都是答案:D二、填空题(每空2分,共20分)1. C语言中,定义一个整型变量a的语句是 int a; 。
C程序设计复习资料含复习资料

C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。
了解不同数据类型的取值范围和存储方式是编程的基础。
例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。
2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。
在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。
3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。
掌握这些运算符的优先级和结合性,能够正确编写表达式。
例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。
4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。
(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。
例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。
2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。
通过指针可以间接访问变量的值,并且能够实现动态内存分配。
例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。
三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。
函数可以有返回值,也可以没有返回值。
C语言程序设计考试复习资料

一、单选题1.下列选项中,与实现运行时多态性无关的是()A、重载函数B、虚函数C、指针D、引用答案: C2.在C语言中,下面对函数不正确的描述是()A、当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变B、允许函数递归调用C、函数形参的作用范围只是局限于所定义的函数内D、子函数必须位于主函数之前答案: D3.若a是int类型变量,则计算表达式a=1000%999的值是A、0B、1C、2D、3答案: B4.C语言中,运算对象必须是整型的运算符是:()A、%B、/C、*D、+答案: B5.以下不能定义为用户标识符的是()。
A、MAINB、_HJC、2ongD、LINE1答案: C6.下列有关C语言的叙述中错误的是()。
A、C语句必须以分号结束B、任何一个C程序中有且只有一个主函数C、复合语句在语法上可被看作一条语句D、C程序中对数据的任何操作都可由运算符实现答案: D7.下列函数中哪一个是正确的构造函数A、B::B(inta,intb):x(a),y(b){}B、B::B(inta,intb):A(a),y(b){}C、B::B(inta,intb):x(a),B(b){}D、B::B(inta,intb):A(a),B(b){}答案: D8.下面不能正确进行字符串赋值操作的语句是( )。
A、char s[5]={"ABCD"}B、char s[5] s="ABCD"C、char *ss="ABCDEF"D、char *s="ABCD"答案: C9.类的析构函数的作用是A、对象的初始化B、删除对象时的清理任务C、与一般成员函数一样D、类的初始化答案: B10.设有数组定义:chararray[]=”China”则数组array所占的空间为:A、4个字节B、5个字节C、6个字节D、7个字节答案: C11.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
《C语言程序设计》综合复习资料

《C语言程序设计》综合复习资料要求掌握的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章C语言概述一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3.C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue4.C语言程序的基本单位是A) 函数B) 过程C) 子例程D) 子程序二、填空题1.C语言程序总是从main函数开始执行。
2.C语言是种面向_____的程序设计语言,其程序的基本单位是函数。
.3.C语言中的函数由、两部分组成。
4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。
第3章数据类型、运算符与表达式一、选择题1.下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3.在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8D)164.用8位无符号二进制数能表示的最大十进制数为A)127 B)128 C)255D)2565.在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2 C) 3 D) 46.在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7.十六进制数100转换为十进制数为A)256 B)512 C)1024 D)648.十六进制数7A转化成八进制数是A)123 B)122 C)173 D)1729.十进制数32转化成十六进制数是A)20 B)ff C)10 D)2110.与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11.以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212.以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E13.依据C语言的语法规则,下列()是用户定义的合法标识符。
C语言程序设计复习资料

C语言程序设计复习资料总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
c语言补考试题及答案

c语言补考试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 下列哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:A5. C语言中,用于定义一个空指针的关键字是:A. NULLB. voidC. 0D. none答案:A二、填空题(每题2分,共10分)1. 在C语言中,字符常量可以用单引号括起来,例如:'A'。
()答案:正确2. C语言中,一个函数可以返回多个值,通过使用指针参数。
()答案:正确3. C语言中,数组的索引是从0开始的。
()答案:正确4. 在C语言中,关键字`const`用于定义一个常量。
()答案:正确5. C语言中,`sizeof`运算符用于获取变量的大小。
()答案:正确三、简答题(每题5分,共20分)1. 请简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序员直接访问和操作内存,从而提高了程序的灵活性和效率。
2. 解释C语言中函数原型的作用。
答案:函数原型在C语言中定义了函数的名称、返回类型和参数类型,它允许编译器在编译时检查函数调用的一致性,确保参数类型和数量正确。
3. 描述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被用作指向数组首元素的指针。
数组和指针紧密相关,数组的每个元素都可以通过指针访问。
C程序设计复习资料(含答案)

C程序设计复习资料(含答案)C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 一个程序的执行是从()。
A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束2. C语言中字符型(char)数据在内存中的存储形式是()。
A.原码B.补码C.反码D.ASCII码3. 下列不属于C语言关键字的是()。
A. continueB. integerC. unionD. tpyedef4. 有定义语句:char b;char c[10];,则正确的输入语句是()。
A. scanf("%c%s",&b,&c);B. scanf("%c%s",&b,c);C. scanf("%c%s",b,c);D. scanf("%c%s",b,&c);5. 设整型变量a为5,使b不为2的表达式是()。
A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/26. 以下哪个步骤实现对源程序检查有无语法错误()。
A. 编辑B. 编译C. 连接D. 运行7. C语言中,能正确表示条件10≤x≤20的逻辑表达式是()。
A. (x≥10)||(x≤20)B. (x>=10)||(x<=20)C. (x≥10)&&(x≤20)D. (x>=10)&&(x<=20)8. 若有说明 int a[2][2]={1,2,3,4};,则a[1][1]的值是()。
A. 3B. 2C. 1D. 49. 若有定义:int a=1,b=2,c=3;,则执行程序段:if(a<b){c=a;a=b;b=c;},后a、b、c的值分别为()。
A. a=1,b=2,c=3B. a=2,b=3,c=1C. a=2,b=3,c=3D. a=2,b=1,c=110. 下面关于switch语句的叙述中,错误的是()。
A. case后面的表达式可以是关系表达式B. switch语句是多分支选择语句C. 每一个case后面的值必须互不相同,否则会出现矛盾的现象D. 在执行一个case分支后,可用一个break语句使流程跳出switch语句11. 以下程序的运行结果是()。
void main(){ int sum=0,item=0;while(item<5){ item++; sum+=item; if(sum>=6) break; }printf("%d\n",sum);}A. 10B. 15C. 6D. 712. 下面是对数组s的初始化,其中不正确的是()。
A. char s[5]="china";B. char s[5]={'c','h','i'};C. char s[5]="";D. char s[5]={"chi"};13. 有以下程序main(){ int m=56,n=78,result;result=m<n?m:n;printf("%d",result); }程序运行后的输出结果是()。
A. 56B. 0C. 78D. 114. 若有定义:int a=2; char c[]="hello";则语句a=strcmp(c,"hello");运行后a的值为()。
A. 1B. 0C. -1D. 215. 有以下程序:int mul(int x,int y){ return x*y; }void main(){ int b; b=mul(2,3); printf("%d",b); }程序的运行结果是()。
A. 3B. 6C. 5D. 416. int i=5;执行语句i*=2+3;i的值是()。
A. 25B. 17C. 13D. 以上都不对17. 若有定义:struct teacher{ int num; char sex; int age;}teacher1;则下列叙述不正确的是()。
A. struct是结构体类型的关键字B. struct teacher是用户定义的结构体类型C. num,sex,age都是结构体变量teacher1的成员D. teacher1是结构体类型名18. 以下程序段运行后,循环体运行的次数为()。
int i=10,x;for (;i<10;i++) x=x+i;A. 10B. 0C. 1D. 无限19. 以下程序段运行后s的值是()。
int a[3][3]={1,2,3,1,2,3,1,2,3};int i,j,s=1;for(i=0;i<3;i++)for(j=i;j<3;j++) s*=a[i][j];A. 18B. 108C. 2D. 1220. 若有定义:int a[10],*p=a;,则 p+5 表示()。
A. 元素a[5]的值B. 元素a[5]的地址C. 元素a[6]的值D. 元素a[6]的地址二、填空题(共10分,每小题1分)1. 在程序运行过程中,值不能被改变的量称为。
2. int fun(float x);是一个函数(有参或无参),函数的返回值类型为。
3. 字符串"good\n"的存储长度为个字节。
4. 有程序段:int i=1, j=7,a; a=i+j%4;,则a的值为。
5. 有程序段:int a[]={1,2,3,4,5,6};,则数组元素a[2]的值为。
6. 用while语句写出与for(;;)等效的语句。
7. 有程序段:int a[10],*p;,则使指针变量p指向数组a的语句是。
8. %m.nf表示数据的最小宽度是,输出小数点后位。
三、简答题(共9分,每小题3分)1. 已知以下程序:#include <stdio.h>int main(){char c1,c2;c1='A'; c2=c1+32;printf("%c\n",c2);printf("%d\n",c2);return 0; }请写出输出结果:2. 已知以下程序: #include <stdio.h>void main(){int x=1, a=5, b=9;switch(x){ case 0: a+b;case 1: a-b;case 2: a*b; }printf("\na=%d,b=%d",a,b); }请写出输出结果:3. 已知以下程序: #include <stdio.h>int a(int x,int y){ return x+y; }int b(int m,int n){ return a(m,n); }void main(){ int i;i=b(5,5);printf("%d",i); }请写出输出结果:四、改错题(共10分,每空2分)1. 修改程序,其功能是实现打印出所有的“水仙花数”。
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
void main(){ int f,s,t,n;printf("\nThe list is:\n");for(n=100,n<1000,n++){ f=n%10; s=(n%100)/10;t=n%100;if(t*t*t+s*s*s+f*f*f=n)printf("%d ",n);}printf("\n"); }2. 修改程序,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。
#include <stdio.h>#include <math.h>void main(){ float a[3],s,area; int i;printf("Please input 3 numbers:\n");for(i=0;i<3;i++)scanf("%f",a[i]);if(a[0]+a[1]>a[2]||a[1]+a[2]>a[0]||a[0]+a[2]>a[1])s=(a[0]+a[1]+a[2])/2;area=sqrt(s*(s-a[0])*(s-a[1])*(s-a[2]));printf("area is %.2f\n",area);elseprintf("Error.\n"); }五、程序填空题(共10分,每空2分)1. 补充程序,其程序的功能是:求1到10的阶乘的和。
#include <stdio.h>int main(){int i,j,s,t;for(n=1;n<=10;n++){ t=1;for(j=1;j<=n;j++)s=s+t; }printf("s=%d\n",s);return 0; }2. 补充程序,使程序中的sort()函数用选择法对数组a中的m个元素从大到小排序。
#include <stdio.h>#include <math.h>void sort(int a[],int m){ int i,j,k,t;for(i=0;i<m-1;i++){ k=i;for(j=i+1;j< ;j++) if(a[j]<a[k])if(k!=i){ t=a[k];a[k]=a[i];a[i]=} } }void main(){ int a[]={72,25,58,32,2,15,7,64};int i,m=sizeof(a)/sizeof(int);sort(a,m);for(i=0;i<m;i++)printf("%d ",a[i]); printf("\n"); }。