《C语言程序设计》专题复习资料
- 格式:doc
- 大小:147.01 KB
- 文档页数:16
第1章概述本章重点:掌握C语言程序的结构和书写规则,以及Turbo C V2.0的基本操作。
1.1 C语言概述1.C语言的诞生与发展(见教材)2.C语言的特点(见教材)3. 在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数(不是C语言的组成部分)来实现。
所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。
9种控制语句:if( )……else……for(……)while(……)do……while(……)continuebreakswitchgotoreturn1.2 简单C程序介绍1.2.1C语言程序的总体结构一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。
[例1.1] 仅由main()函数构成的C语言程序。
/*功能:仅由main()函数构成的C语言程序示例*/main(){ printf(‚This is a C program.\n‛);}程序运行结果:This is a C program.[例1.2] 由main()函数和1个其它函数max()构成的C语言程序。
/*代码文件名:AL1_2.C*//*功能:由main()函数和1个其它函数max()构成的C语言程序示例*/int max(int x, int y){ return( x>y ? x : y ); }main(){ int num1,num2;printf(‚Input the first integer number: ‛);scanf(‚%d‛, &num1);printf(‚Input the second integer number: ‛);scanf(‚%d‛, &num2);printf(‚max=%d\n‛, max(num1, num2)); }程序运行情况:Input the first integer number:6←┘Input the second integer number:9←┘max=9 [例1.3] 改写[例1.2],交换main()函数和max()函数的前后位臵。
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语言程序设计(第四版)复习资料C语言程序设计(第四版)复习资料C语言程序设计是计算机科学与技术专业中非常重要的一门课程,通过学习C语言,可以培养同学们良好的编程思维和解决问题的能力。
为了帮助同学们更好地复习和掌握C语言程序设计知识,提供一份详细的复习资料是非常有必要的。
本文将针对教材《C语言程序设计(第四版)》进行复习资料的整理,帮助同学们系统地复习重点知识点和考点。
一、概述C语言是一种通用的、面向过程的高级计算机编程语言,它具有语法简洁、功能强大、性能高效等特点。
本教材分为六个部分:基本类型和函数、选择结构、循环结构、数组与指针、字符串和结构、高级特性。
通过学习这些内容,同学们可以初步掌握C语言的基本知识和编程技巧。
二、基本类型和函数在C语言中,有一些基本类型和函数是我们必须要了解和掌握的。
首先,我们需要了解整型、浮点型、字符型等基本数据类型的特点和使用方法。
其次,掌握C语言常用的输入输出函数,如printf()和scanf()函数,这是进行数据输入和输出的基础。
此外,还需要理解C语言中的运算符和表达式,并能正确地使用它们进行计算和逻辑运算。
三、选择结构选择结构是C语言中非常重要的一部分,通过选择结构可以实现根据不同条件执行不同的代码块。
在《C语言程序设计(第四版)》中,详细介绍了if语句、switch语句等选择结构的使用方法和注意事项。
在复习选择结构时,同学们需要理解条件表达式的含义和使用方法,并能灵活地运用选择结构解决实际问题。
四、循环结构循环结构是C语言中常用的一种结构,通过循环结构可以重复执行一段代码,直到满足退出条件为止。
在本教材中,详细介绍了while循环、do-while循环和for循环的使用方法和注意事项。
复习循环结构时,同学们需了解循环的基本原理,掌握循环控制变量的更新和循环体的编写技巧。
五、数组与指针数组和指针是C语言中非常重要的概念,同时也是较难理解和掌握的部分。
在《C语言程序设计(第四版)》中,详细介绍了数组的概念、数组的声明和使用方法,以及指针的概念、指针的声明和使用方法。
《C语言程序设计》课程期末复习资料一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
A) print _3d oodb aBcB) i\am one_half start$it 3paiC) Pxq My->book line# His.ageD) str_l Cpp pow while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句 printf("%x",-1);屏幕显示____。
A) -1 B) 1 C) -ffff D) ffff【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。
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语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
一、选择题(每小题2分)1、以下说法正确的是 C 。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2、下列符号中,可以作为变量名的是 C 。
A)+a B)12345e C)a3B D)5e+03、在C 语言中,下列类型属于构造类型的是 D 。
A)整型B)指针类型C)实型D)结构体类型4、设d为字符变量,下列表达式正确的是 B 。
A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟5、C语言中,运算对象必须是整型数的运算符是 A 。
A)% B)\ C)% 和\ D)**6、表达式(double)(20/3)的值为 A 。
A)6B)6.0 C)2D)37、若已知a=10,b=20,则表达式!a<b的值为 C 。
A)10 B)20 C)1 D)08、printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。
如果字符串长度大于4,则按原字符串长从左向右全部输出;如果字符串长度小于4,则输出方式为 B 。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息9、为了表示关系x>=y>=z,应使用C语言表达式 A 。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)10、以下不正确的i f 语句形式是 C 。
A)i f ( x > y && x != y ) ; B)i f ( x = = y ) x + = y ;C)if ( x != y ) scan f ( “%d”, &x) else scanf ( “%d”, &y); D)i f ( x < y ) { x++; y++;}11、程序段如下int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是 B 。
c语言程序设计复习资料C语言程序设计复习资料C语言是一门广泛应用于计算机科学领域的编程语言,它简洁高效的特性使得它成为了许多程序员的首选。
无论是初学者还是有一定编程基础的人,都需要不断巩固和复习C语言的知识。
本文将为大家提供一些C语言程序设计的复习资料,帮助大家巩固所学知识,提高编程能力。
一、基础知识回顾1. 数据类型:C语言中有多种数据类型,包括整型、浮点型、字符型等。
回顾这些数据类型的定义和使用方法,了解它们的特点和区别,对于编写正确的程序至关重要。
2. 运算符:C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。
复习这些运算符的优先级和使用方法,能够帮助我们更加灵活地进行计算和判断。
3. 控制语句:控制语句是C语言中非常重要的一部分,包括条件语句、循环语句和跳转语句。
复习这些语句的语法和用法,能够帮助我们编写出更加高效和灵活的程序。
二、实践应用1. 编写简单的程序:通过编写一些简单的程序来巩固所学知识,比如实现一个计算器程序、编写一个简单的猜数字游戏等。
通过实践应用,我们能够更好地理解和掌握C语言的各种语法和特性。
2. 解决实际问题:将所学的知识应用到实际问题中,比如编写一个学生成绩管理系统、实现一个简单的文件管理程序等。
通过解决实际问题,我们能够更好地理解和掌握C语言的实际应用,提高编程能力。
三、深入学习1. 函数:函数是C语言中非常重要的一部分,它能够将程序分解为多个模块,使得程序更加模块化和可维护。
复习函数的定义和使用方法,了解函数的参数传递和返回值,能够帮助我们编写出更加复杂和可扩展的程序。
2. 数组和指针:数组和指针是C语言中非常重要的概念,它们能够帮助我们更好地处理和管理数据。
复习数组和指针的定义和使用方法,了解它们的特点和应用场景,能够帮助我们编写出更加高效和灵活的程序。
3. 结构体和文件操作:结构体和文件操作是C语言中比较高级的概念,它们能够帮助我们更好地组织和管理数据。
《C程序设计》复习资料知识点总结C语⾔《C程序设计》知识点都懂了,⼀定过!第1章 C语⾔概述1.1.C语⾔属⾼级语⾔,区分字母的⼤⼩写,以函数为基本单位采⽤模块化程序设计,可直接访问内存,进⽽对硬件进⾏操作。
1.2.⽤C语⾔编写和程序称作C源程序,简称C程序,C程序可由若⼲个⽂本⽂件组成,⽂件扩展名为C(使⽤C++编译器时默认扩展名为CPP)。
C源程序经编译、连接后得到扩展名为EXE的可执⾏⽂件(⽬标程序)。
预处理编译、连接执⾏若⼲个C程序⽂件----→C程序------→⽬标程序⽂件--→1.3.C程序从主函数开始执⾏,每个C程序有且仅有⼀个主函数,因此,每个C程序⽂件中⾄多有⼀个主函数。
1.4.C语句以分号结尾,⽤{}括起来的⼀组语句称作复合语句,复合语句可省略花括号之后的分号。
1.5.允许⼀⾏内写多个C语句,也允许⼀个C语句占⽤多⾏,但保留字和标识符不可拆⾏。
1.6.在C集成环境VC++ 6.0中,新建⼯程、保存当前程序⽂件、编译当前程序、执⾏当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5。
第2章程序设计的灵魂——算法2.1. 解决问题的⽅法和步骤称作算法。
算法和数据结构是程序的两个主要要素。
2.2. 算法具有确定性、有穷性、有效性等特点。
2.3. 算法可⽤⾃然语⾔、流程图、N-S 图、计算机语⾔、伪代码等描述。
伪代码是⽤介于⾃然语⾔和计算机语⾔之间的⽂字和符号来描述算法。
2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构。
↓↓↓↓←- --Y ┌条件┐N 条件┐N ││││条件┘Y --- ←┘↓N图2.2 顺序结构图2.3 选择结构图2.4 当循环图2.5 直到循环图直到循环2.5.由三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有⼀个⼊⼝和⼀个出⼝。
结构化程序设计通常采⽤“⾃顶向下、逐步细化”的设计⽅法。
第3章数据类型、运算符与表达式3.1.C的数据类型如下所⽰:表3.1 C语⾔的数据类型3.2.字母或下划线开头,由字母、数字、下划线组成,超出32个字符部分被忽略(最好不超过8个字符)。
第一部分《C语言程序设计》专题复习资料一.选择题1、C语言中字符型(char)数据在内存中的存储形式是:( )A)原码 B)补码 C)反码 D)ASCII码2、C语言中长整型(long)数据在内存中的存储形式是:( )A)原码 B)补码 C)反码 D)ASCII码3、C语言的运算符按运算对象的数目可以分为:()A)单目运算符 B)单目和双目运算符 C)单目、双目和三目运算符D)单目、双目、三目和四目运算符4、C语言中,int、char和short三种类型数据所占用的内存是()A)均为2个字节 B)由用户自己定义C)由机器的字长决定 D)任意的5、C语言中的简单数据类型包括()A)整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、逻辑型、字符型 D) 整型、实型、逻辑型、字符型6、在C语言中,十进制的47可以等价的写成()A)2f B)02f C)57 D)0577、将字符g赋值字符变量c,正确的表达式是()A)c=’g’ B)c=101B)C)c=’\147’ D)c=’0147’8、已知:char a; int b; float c; double d;执行语句c=a+b+c+d;后变量c的类型是()A)int B)char C)float D)double9、已知int j,i=1; 执行语句j=-i++后,j 的值是()A)1 B)2 C)-1 D)-210、已知int i, a; i=(a=2*3,a*5),a+6”后,变量i 的值是()A)6 B)12 C)30 D)3611、已知 int i=5;执行语句i+=++i;后, i的值()A)10 B)11 C)12 D)无答案12、字符串“\\\22a,0\n”的长度是()A)8 B)7 C)6 D)513、已知char a=’\70’;则变量a中包含的字符数为()个。
A)1 B)2 C)3 D)说明非法14、已知:int x=1, y=-1;则执行语句“printf(“%d\n , (x--&++y)”);”的输出结果是:()A) 1 B) 0 C) -1 D) 215、已知: int a=b=c=1 且均为int 型变量,则执行以下语句: ++a||++b&&++c后变量a的值为(),变量b的值为()A) 不正确 B) 0 C) 2 D) 1A) 1 B) 2 C) 不正确 D) 016、设a=2 ,b=3, 则执行表达式c=b*=a-1后,变量c的值是()A) 5 B) 3 C) 2 D) 417、要判断char型变量m是否为数字,可以使用以下表达式()A)0<=m&&m<=9 B) ‘0’<=m&&m<=’9’C)“0”<=m&&m<=”9” D) 以上答案均错误18、已知:#define N 3; 的宏定义,执行语句i=N*3后,i的值是()A) 3 B)6 C) 9 D) 以上答案均错误19、若有以下宏定义:#define X 5#define Y X+1#define Z Y*X/2则执行以下printf语句后,输出结果是()int a =Y;printf(“%d”,Z);printf(“%d\n”,--a);A) 7,6 B)12,6 C)12,5 D) 7,520、若有以下宏定义:#define N 2#define Y(n) ((N+1)*n)则执行以下”z=2*(N+Y(5))”,语句后,输出结果是()A)语句有错误 B)z=34 C) z= 70 D)z无定值21、若int k; 且有下面的程序片段,则输出结果是()k=3;if(k<0) printf(“####”);else printf(“&&&&”);A) ####B) &&&&C) ####&&&& D)有语法错误22、设有说明语句:int a=1 ,b=0 ;则执行以下语句后的输出为()switch(a){ case 1:switch(b){ case 0: printf(“**0**”);break;case1: printf(“**1**”);break;}case 2:printf(“**2**”);break;}A) **0** B) **0****2**C) **0****1****2** D) 有语法错误23、与语句“while(!x)”等价的是()A) while(x==0) B) while(x!=0)C) while(x!=1) D) while(~x)24、与语句“while(x)”中的x等价的是()A) x==0 B) x==1 C) x!=1 D) x!= 025、定义int I=1, 则执行语句“while(I++< 5) ; ”后,I的值是()A)3B)4C)5D)626、若有int I ,x; 则:“for(I=x=0;I<9&&x!=5;I++.x++)””控制的循环体执行的次数是()A)10B)9C)5D)627、若int a=5 ;则执行以下语句:do{ printf(“%2d”,a--);}while(!a); 后的打印结果是()A)5B)不打印任和内容C)4D)陷入死循环28、若int x=3;且有以下程序片段,则输出结果是()do{ printf(“%d”,x-=2);}while(!(--x));A)1 B) 3 0 C) 1 -2 D)死循环29、若int x;且有以下程序片段,则输出结果是()for(x=3;x<6;x++)printf((x%2)?”**%d” , ”##%d\n”,x);A)**3B)##3C)##3D)**3##4##4 **4 **4##5 **5**5 ##530、C语言程序由函数组成,它的________。
.A)主函数必须在其它函数之前,函数内可以嵌套定义函数B) 主函数必须在其它函数之后,函数内不可以嵌套定义函数C) 主函数可以在其它函数之前,函数内不可以嵌套定义函数D) 主函数必须在其它函数之后,函数内可以嵌套定义函数31、一个c语言程序的基本组成单位是()A)主程序B)子程序C)函数D)过程32、一个c程序的总是从()开始执行A主过程B) 主函数C)子程序D) 主程序33、c语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()A)地址传递B)值传递C)由实参传递形参,并形参传回实参D)由用户指定传递方式34、错误的说明语句是()A)Char word[ ]={‘T’,’u’,’r’,’b’,’b’,’\0’};B)Char word[ ]={“Turbo\0”};C)Char word[ ]= “Turbo\0”;D)Char word[ ]=’ Turbo\0’;35、已知:char s[5], c, int b ; 则调用函数scanf的正确语句是()A)S canf(“%s%c”,s,c); B)Scanf(“%d%c”,&b,&c);C) Scanf(“%d%c”,b,&c); D) Scanf(“%s%c”,s,&c);36、要说明一个有10个int 元素的数组,应当选择语句()A)int a[10]B)int a[2,5] C)int a[ ] D)int *a[10]37、合法的数组的说明语句是()A)int a[ ]=”string”B)int a[5]={0,1,2,,4,3,5}C)char a=”string”D)char a[ ]={0,1,2,3,4,5}38、调用strlen(“abcd\0ef\0g”)后的返回值是()A) 4B) 5C) 8D) 939、已知:int I , x[3][3]={1,2,3,4,5,6,7,8,9,}则以下输出的结果是()for(I=0;I<3;I++)printf(“%d”,x[i][2-i]);A)15 9B)1 4 7C)3 5 7D)3 6 940、已知:char str[ ]=”ab\n\012\\\”; 则执行语句:printf(“%d”,strlen(str));后的结果是()A)3B)4C)6D)1241、以下对外部的一维数组a进行正确初始化的是()A) int a[10]=(0,0,0,0) ; B) int a[10]={ };C) int a[ ]={ 0 };D) int a[10]={10*1 };42、以下对外部的二维数组a进行正确初始化的是()A)int a[2][]={{1,0,1},{5,3,2}};B)int a[ ][3]={{1,0,1},{5,3,2}};C)int a[2][4]={{1,0,1},{5,3},{4}};D)int a[ ][3]={{1,0,1},{ },{5,3}};43、以下正确的语句是()A)int a[1][4]={1,2,3,4,5}B) float x[3][ ]={{1},{3},{2}}C) long b[2][3]={{1},{1,2},{1,2,3}}D) double y[ ][3]={0 }44、下面的程序段的运行结果是()char a[7]=”abcdef”, b[4]=”ABC”strcpy(a,b); printf(“%c”,a[5]);A)空格B) \0C) e D) f45、下面的程序段的运行结果是()char a[3],b[ ]=”china”;a=b; printf(“%s”, a);A)china B)ch C)chi D)程序出错46、下面的程序段的运行结果是()char c[ ]=”\t\v\\\0will\n”;printf(“%d”, strlen(c) );A)14B)3C)4D)不确定47、已知:char s[20]=”programming”, *ps=s;则不能引用字母o的表达式是()A) ps+=2B)s[2]C)ps[2]D) ps+=2, *ps48、已知:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; 则不能表示数组a中的元素的表达式是()A)*p B)a[10]C) *a D)a[p-a]49、已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a; *p=a[0] ;则以下能够正确表示数组元素a[1][2]的值表达式是()A)*(ptr+1)[2]B)(*(*p+5) )C) *(ptr+1)+2 D) (*(*a+1)+2 )50、已知:char *p ,*q; 选择正确的语句是()A)p*=3B)p/=q C)p+=3D)p+=q51、已知:int a, *p=&a ,则为了得到变量a的值,下列错误的表达式是()A)*&p B)*p C)p[0]D)*&a52、已知int x[ ]={1,3,5,7,9,11}, *p=x; 则能够正确引用数组的语句是()A)*(p--)B) *(--p)C)*(++p)D) *(p++)53、在C语言的函数调用过程中,如果函数funA 调用了函数funB,函数funB又调用了函数funA;则()A)称为函数的直接递归B) 称为函数的间接递归C)称为函数的递归定义D) C语言中不允许这样递归形式54、下面的四个运算符中,优先级最低的是()A) ( ) B) .C) –>D)++55、已知:struct{ int I ; char c; float a;}test ;则sizeof(test)=( )A)4B)5 C)6 D) 756、已知:union{ int I ; char c; float a;}test ;则sizeof (test)=( )A)4B)5 C)6 D) 757、已知:union u_type{ int I ; char c;}temp ;执行“temp.i=266”则temp.ch的值为( ) A) 266B) 256C) 10D) 158、A) B) C)D)59、以下叙述正确的是()A.do….while语句构成的循环不能用其他语句构成的循环来代替B.do….while语句构成的循环只能用break语句退出C.用do….while语句构成的循环,在while后的表达式为零时结果循环D.用do….while语句构成的循环,在while后的表达式为非零时结果循环60、下列关于switch语句和break语句的说法中,正确的是()A.switch语句中使用break语句可以结束switch语句的执行B.switch语句中可以根据需要使用或不使用break 语句C.switch语句中不使用break语句也能结束某个case分支的执行D.switch语句中必须包含break语句,才能结束switch语句的执行61、10、以下对C语言字符数组的描述中错误的是()A.字符数组可以存放字符串B.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值C.字符数组中的字符串可以整体输入、输出D.不可以用关系运算符对字符数组中的字符串进行比较62、函数调用strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B.将串str1连接到串str2中后再复制到串str3之后C.将串str2连接到串str1之后再将串str1复制到串str3之中D.将串str2复制到串str1中后再将串str3连接到串str1之后63、下面不正确的字符串赋值或赋初值方式是()A.char *str,str=”string”;B.B.char str[7]={’s’,’t’,’r’,’i’,’n’,’g’};C.char str1[10]; str1=”string”;D.char str1[]=”string”,str2[20];strcpy(str2,str1); 64、C语言规定,程序中各函数之间()A.既允许直接递归调用,也允许间接递归调用B.既不允许直接递归调用,也不允许间接递归调用C.允许直接递归调用,不允许间接递归调用D.不允许直接递归调用,允许间接递归调用65、在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定是否共用存储单元D.上面三种说法都不正确66、下列程序的作用是()。