C语言章节总结

合集下载

2018版C语言程序设计目录

2018版C语言程序设计目录

2018版C语言程序设计目录1. 引言2. 基本语法2.1 数据类型与变量2.2 运算符与表达式2.3 控制语句2.4 循环语句2.5 函数3. 数组与指针3.1 数组的概念与用法3.2 指针的概念与用法3.3 字符串处理4. 结构体与联合体4.1 结构体的定义与使用4.2 结构体数组4.3 结构体指针4.4 联合体的概念与用法5. 文件操作5.1 打开和关闭文件5.2 读取和写入文件5.3 文件指针的操作6. 动态内存管理6.1 内存分配与释放6.2 动态数组6.3 动态结构体7. 预处理指令与宏定义7.1 预处理指令的作用与用法7.2 宏定义的概念与用法8. 多文件编程8.1 模块化编程的概念与好处 8.2 头文件与源文件的分离8.3 静态链接与动态链接9. C语言标准库9.1 输入输出库函数9.2 字符串处理函数9.3 内存操作函数9.4 数学函数10. C语言程序的编译与调试10.1 编译过程的概念与步骤10.2 静态调试与动态调试的方法11. 综合实例分析11.1 实例一:学生成绩管理系统11.2 实例二:图书管理系统11.3 实例三:简易计算器12. 结语引言:C语言是一种通用的、面向过程的编程语言,具有高效、灵活和可移植等优势,在计算机科学领域得到广泛应用。

本目录将详细介绍2018版C语言程序设计的相关内容,帮助读者全面理解和掌握C语言的基础知识和进阶技巧。

1. 引言本章对C语言的概念和历史做简单介绍,以及C语言在计算机编程领域的应用和重要性。

2. 基本语法基础语法是掌握任何编程语言的重要基石,本章节将介绍C语言的数据类型与变量、运算符与表达式、控制语句、循环语句以及函数等基本语法。

2.1 数据类型与变量详细介绍C语言中的基本数据类型和变量声明及使用的规则。

2.2 运算符与表达式介绍C语言中的常见运算符和表达式的使用方法,帮助读者完成基本的数学运算和逻辑运算。

2.3 控制语句讲解C语言中的条件语句(如if-else)和选择语句(如switch-case),使读者能够实现程序的流程控制。

c语言课程设计总结心得大全

c语言课程设计总结心得大全

c语言课程设计总结心得大全【篇一:C语言程序课程设计心得体会】在科技高度发展的今天,计算机在人们之中的作用越来越突出。

而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理。

简单界面程序。

高级界面程序。

程序的添加修改。

用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c 语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

c语言函数章节经典教案

c语言函数章节经典教案

字符串加密
定义一个函数,对给 定的字符串进行加密 处理,可以使用简单 的替换算法或加密算 法实现。
函数递归调用
在字符串反转函数中, 通过递归方式调用自 身来实现字符串的逐 个字符处理。
字符串处理技巧
使用C语言标准库中 的字符串处理函数 (如strlen、strcpy 等)来简化代码实现。
案例三:学生成绩管理系统
示例
计算圆的面积和周长,使 用数学函数计算半径为5 的圆的面积和周长。
注意事项
在使用数学函数时,需要 包含头文件math.h,并注 意函数的输入参数和返回 值类型。
字符串函数
字符串函数
用于处理字符串,如字符 串连接、字符串比较、字 符串查找等。
示例
将两个字符串连接起来, 使用字符串函数strcat()实 现。
C语言函数章节经典教案
目录
• 引言 • C语言函数概述 • 常见C语言函数 • 函数调用与内存管理 • 自定义C语言函数 • 案例分析与实践
01 引言
主题简介
01
函数是C语言中的基本组成单位, 用于实现特定的功能或计算。
02
本章节将介绍函数的定义、声明 、参数传递、返回值以及函数调 用的过程。
教学目标
01
02
03
04
掌握函数的定义和声明 方法。
理解参数传递的机制和 方式。
了解函数的返回值及其 使用。
熟悉函数调用的过程和 作用。
02 C语言函数概述
函数定义与声明
总结词
理解函数定义与声明是掌握C语言函数的基础。
详细描述
在C语言中,函数是执行特定任务的代码块。每个函数都有一个唯一的名字,用 于在程序中标识该函数。在调用函数之前,必须先声明函数,告诉编译器函数 的名称、返回类型和参数列表。

C语言课件

C语言课件
此后,两人合作,重写了UNIX操作系统。C语言伴随着UNIX操 作系统成为一种很受欢迎的计算机语言。
C语言程序设计
第一章 C语言概述
1.2 C语言特点
– 语言简洁、紧凑、灵活 > –运算符和数据类型丰富 > – 程序设计结构化、模块化 – 生成目标代码质量高 – 可移植性好
> >
>
<
>
C语言程序设计
有问题请随时与任课老师(实验和理论)
联系
理论老师QQ:947593546
C语言程序设计
第一章 C语言概述
本课程在本科生教学中的地位及教学宗旨
本课程为专业基础课,属我校所有理工科专业本科教学 计划中的主要必修课程之一。在计算机教育方面,C 语言是为 数不多的与国外保持内容同步的课程之一,可见,它在本科生 教学中的地位之重要不言而喻。由于C 语言是许多后续专业课 程的基础,因此,在本科生教学体系中中, C 语言教学仅是 起点,而非终点。 本着面向未来的精神,本课程的教学宗旨是要努力把 C 语言从应试课程转变为一种实践工具,主要目的不再局限于使 大家单纯地了解和掌握 C 语言的基本语法规范,而是要致力 于培养大家运用C 语言解决实际问题的编程能力, 以 C 语言 为工具,介绍程序设计的基本思想和方法,培养学生无论以后 在学习、工作中使用什么语言编程,都能灵活应用这些思想和 方法的能力。
C语言程序设计
第一章 C语言概述
参考书目:
1.《C语言程序设计教程》,孙家启等编著, 安徽大学出版社; 2.《C程序设计》,谭浩强主著,清华大学出 版社; 3.《C语言程序设计》,孙家启编著,中国科 学技术出版社。
C语言程序设计
第一章 C语言概述
课时安排

C语言

C语言

• 返回值
通过return返回 return 表达式;
函数
自定义函数
• 调用 函数名(实参) 注:
1. 调用时函数名必须与所定义的函数名一致 2. 实参的个数与形参的个数必须一致 3. 实参和形参的类型、顺序必须一直
函数

函数说明(为了遵循“先定义,后使用”的原则) 类型名 函数名(参数类型1,参数类型2……); 注:
数据类型
常 用 基 本 类 型
C语言简介
整型
实型 字符型
常 用 组 合 类 型
数组 机构体
公用体
数据类型1
整型
常量:1、57、8、6……
名称 关键字 int short (int) long (int) unsigned 字节 4 2 4 4
C语言简介
变 量
基本整型 短整型 长整形 无符号型
16位系统:long是4字节,int是2字节 32位系统:long是4字节,int是4字节 64位系统:long是8字节,int是4字节 C语言又规定,无论什么平台,都要保证long型占用的字节数不小于int型
选择结构
逻辑运算
选择结构
逻辑运算符 &&(逻辑“与”)、 ||(逻辑“或”)、 !(逻辑“ 非”) &&:当运算符两边的值均为1时,计算值为1,否则为0 ;左边为0,右边被短路 ||:当运算符两边的值中有一个为1时,计算值为1,两 者都为0时,计算值为0;左边为1,右边被短路 !:单目运算符 优先级:! > 算术运算符 > 关系运算符 > && > || > 赋值运 算符
通过二进制相互转换
数的存储
C语言简介

《计算机c语言》课件

《计算机c语言》课件
数据
关闭文件:使用fclose()函 数,关闭打开的文件
程序调试技巧和方法
单步调试:逐行执行代码, 观察变量值和程序状态
异常处理:使用try-catch 语句捕获和处理异常,避免
程序崩溃
代码审查:与他人共同审查 代码,发现潜在问题
断点调试:设置断点,逐 步执行代码,观察变量值
和程序状态
打印调试:在关键位置打 印变量值,观察程序状态
数组的定义:使用关键字 "int[]"、"char[]"等定义数

添加标题
数组的访问:通过数组下标 访问数组元素,下标从0开始
添加标题
数组的修改:可以通过数组 下标修改数组元素
数组的查找:可以使用查找 算法在数组中查找元素,如
二分查找、顺序查找等
字符串的处理和操作
字符串的定义:由字符组成 的序列,用双引号括起来
嵌套控制结构
概念:在一个控制 结构中嵌套另一个 控制结构
应用场景:循环嵌 套、条件嵌套等
语法:使用{}、() 等符号表示嵌套关 系
示例:for(int i=0;i<10;i++){if(i %2==0){...}}
函数和程序结构
函数的定义和调用
函数的定义:函数是完成特定任务的独立代码块,可以重复使用。 函数的调用:在程序中使用函数名和参数列表来调用函数。 函数的参数:函数可以接受参数,参数可以是变量、常量或表达式。 函数的返回值:函数可以返回一个值,返回值可以是任何类型的数据。
数据类型和运算 符
变量和常量
变量:在程序运行过程中可以改变的值
常量类型:整型、浮点型、字符型、布 尔型等
常量:在程序运行过程中不能改变的值

内容三 C语言基础知识


二 C语言数据及运算
3.运算符与表达式
⑤位运算
位运算符是指 ~(求反)
&(按位与)
| (按位或)
^(按位加 、异或) >>(右移) <<(左移)
⑥简单赋值
简单赋值运算符“=”
⑦复合赋值
复合赋值运算符包括+ = - = * = / = % = &= |= ^= <<=和>>=
⑧条件运算
条件运算符(?:)是一个三元运算符,一般形式为
7.书写程序时应遵循的规则
①一个说明或一个语句占一行。 ②用{} 括起来的部分,通常表示了程序的某一层次结构。 ③低一层次的语句或说明可比高一层次的语句或说明缩进若干
格后书写。
一 C语言基本结构及特点
8.C语言的字符集
①字母 小写字母a~z共26个 大写字母A~Z共26个
②数字 0~9共10个
③空白符 空格符、制表符、换行符等统称为空白符。 ④ 标点和特殊字符
{ char I; for(i=‘A’;i<=‘Z’;i++) printf(“%c”,i); printf(“\n”);
}
三 C语言基本语句
5.Break语句
break语句由关键字break后加分号“;”组成。前面章节介 绍到switch多分支选择结构时,曾介绍过break语句,它用来跳 出switch结构,使程序能够执行该结构下面的语句。在这里 break语句被用在循环结构中作用是跳出它所在的循环体,提下 一句继续执行。
表达式1:初始化表达式。通常用来设定循环变量的初始值或 者循环体中任何变量的初始值,可用逗号作分隔符设置多个变 量的值; 表达式2:循环条件表达式; 表达式3:增量表达式。

第3章 C语言的运算符

① 前缀形式:++i、--i,它的功能是在使用i之前, i 值先加 (减)1(即先执行i+1或i-1,然后再使用i值)。 ② 后缀形式:i++、i--,它的功能是在使用i 之后, i 值再加 (减)1(即先使用i值,然后再执行i+1或i-1)。
普通高等教育“十一五 ” 国家级规划教材
3.2. 算术运算符与算术表达式
3、C语言的运算符和表达式
3.1.2 运算符的优先级和结合性
例如:
普通高等教育“十一五 ” 国家级规划教材
3*5/3 :表达式中出现了二个运算符即*和/。按 照优先级的次序,5的两侧“*”和“/”优先级相同, 则按结合性处理。“*”和“/”运算符的结合性为从 左到右,则先乘后除,表达式的值为5。
d=a+b-c :表达式中出现了三个运算符即=(赋 值)、+、-。按照优先级的次序,加和减的运算优先 级相同,而赋值运算符优先级较低。根据加和减的结 合性是从左到右,因此先计算加,再计算减,最后进 行赋值。
3 C语言的运算符和表达式
普通高等教育“十一五 ” 国家级规划教材
3.1.1运算符的优先级和结合性
注意所有的单目运算符、赋值运算符
和条件运算符都是从右向左结合的,要 予以特别关注,其余均为从左向右结合 的,与习惯一致。
普通高等教育“十一五 ” 国家级规划教材
学习 C语言的运算符,不仅要掌握各种 运算符的功能,以及它们各自可连接的运算 对象个数,而且还要了解各种运算符彼此之
普通高等教育“十一五 ” 国家级规划教材
第3章 运算符与表达式
作为一种程序设计语言,C 语言规定了一套严密的字符 集和语法规则,程序设计就是根据这些基本字符和语法规则

C语言入门必须掌握的75个知识点

C 语言入门必须掌握的 75个知识点1、 C 语言中整数默认为 INT 型,两个整数相除(如 1/2结果仍然是整数,要得到带小数点的答案则要改成 1.0/22、在 C 语言中, “ =”是赋值运算符,表示把某个值赋给某个变量(X=0即把 0值赋给 X 变量; “ ==”是关系运算符,表示“等于” (X==0即 X 等于 0 ,在编写 C 程序时要注意区分。

3、 1个字节等于 8位二进制(某整形数据按照 2字节在内存中分配空间,即该数据对应的二进制形式是 16位二进制 ; 在 AS C Ⅱ码中,英文字母(不分大小写、英文标点占一个字节,中文汉字、中文标点占两个字节。

4、基本运算符的优先等级 ------(PS:手机无法显示部分符号“! ” than 算术运算符 (+/-/*than关系运算符 than 逻辑运算符 than 赋值运算符 (=;要想从 C 菜鸟变成 C 老手,一些基本的优先等级是必须知道的(C 运算符的优先等级详见附录 C5、关于 putchar 函数 ------putchar 函数即字符输出函数,表示向输出设备(显示器输出一个字符。

无论用户输作何种输入,函数都只会输出字符(putchar(65输出结果是“ A ” , putchar(… 65‟ 输出结果是“ 65” ; putchar 函数可以通过输出控制字符,让程序执行某种指令(putchar(… \n‟ 则程序会执行换行指令。

6、教材在介绍格式符的章节里有不准确的地方(见 P33 ------d 格式符、 s 格式符、 f 格式符的介绍里, “ m ”应是最少输出位数(书上的描述是“总位数” :%md, %ms, %mf,分别对应 ------输出最少 m 位整型数据, m 位字符串, m 位浮点数 , 位数不足时左补空格。

7、对于我们来说, C 语言不仅是一门必修课。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机,单片机的前景是很广阔的(有兴趣的同学可以向老师咨询或者上网了解 , 要设计出现代化的电子产品无疑要懂得用单片机。

C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)


2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1


表达式3


表达式4

语句1 语句2 语句3

语句n

语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. . 第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、 在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和 下划线 三种字符组成。

第三章数据类型、运算符和表达式

一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,( D )是不正确的 C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、 在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、若有代数式 ,则不正确的C语言表达式是( C )。 A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3 7、表达式!x||a==b 等效于( D )。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 . . 9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -12 10、在以下一组运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = 11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。 A. 6 B. 12 C. 15 D. 表达式出错 12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.5 13、sizeof (double)的结果值是( A )。 A. 8 B. 4 C. 2 D. 出错 14、设a=1,b=2,c=3,d=4,则表达式:a15、设a 为整型变量,不能正确表达数学关系:10A. 1010 && a<15 D. !(a<=10) && !(a>=15) 16、设 f是实型变量,下列表达式中不是逗号表达式的是( D )。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 17、 表达式18/4*sqrt(4.0)/8值的数据类型是( C )。A. int B. float C. double D. 不确定 18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是( A )。 A. D B. 68 C. 不确定的值 D. C 19、以下用户标识符中,合法的是( B )。 A. int B. nit C. 123 D. a+b 20、C 语言中,要求运算对象只能为整数的运算符是( A )。 A. % B. / C. > D. * 21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。 A. 1 B. 2 C. 3 D. 4 22、字符串"ABC"在内存占用的字节数是( B )。 A. 3 B. 4 C. 6 D. 8 23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。 A. char a="3"; B. char a=’3’; C. char a=%; D. char a=*; 24、下列不正确的转义字符是( C )。 A. \\ B. \' C. 074 D. \0 二、填空题: 1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。 2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。 3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、0 、1 、 1 4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。 5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。 6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。 7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。 8、数学式a/(b*c)的 C 语言表达式 a/b/c 。

第7章 数组习题

1. 单项选择题 (1) int a[4]={5,3,8,9};其中 a[3]的值为( )。D A. 5 B. 3 C. 8 D. 9 (2) 以下 4 个字符串函数中,( A )所在的头文件与其他 3 个不同。A. gets B. strcpy C. strlen D. strcmp (3) 以下 4 个数组定义中,( )是错误的。 D A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n]; (4) 对字符数组进行初始化,( )形式是错误。 B A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123"; (5) 在数组中,数组名表示( )。 A A. 数组第 1 个元素的首地址 B.数组第 2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后 1 个元素的首地址 (6) 若有以下数组说明,则数值最小的和最大的元素下标分别是( )。 B int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A. 1,12 B. 0,11 C. 1,11 D. 0,12 . . (7) 若有以下说明,则数值为 4 的表达式是( )。 D int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ; A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] (8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。 A A. 6 B. 7 C. 11 D. 12 (9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。 D A. 6 B. 7 C. 11 D. 12 (10) 合法的数组定义是( )。 A A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5} (11) 合法的数组定义是( )。 D A. int a[3][ ]={0,1,2,3,4,5}; B. int a[ ][3] ={0,1,2,3,4}; C. int a[2][3]={0,1,2,3,4,5,6}; D. int a[2][3]={0,1,2,3,4,5,}; (12) 下列语句中,正确的是 ( )。D A. char a[3][ ]={'abc', '1'}; B. char a[ ][3] ={'abc', '1'}; C. char a[3][ ]={'a', "1"}; D. char a[ ][3] ={ "a", "1"}; (13) 下列定义的字符数组中,输出 printf("%s\n", str[2]) ;的输出是( )。 C static str[3][20] ={ "basic", "foxpro", "windows"}; A. basic B. foxpro C. windows D. 输出语句出错 (14) 下列各语句定义了数组,其中哪一个是不正确的( )。 C A. char a[3][10]={"China","American","Asia"}; B. int x[2][2]={1,2,3,4}; C. float x[2][ ]={1,2,4,6,8,10}; D. int m[][3]={1,2,3,4,5,6}; (15) 数组定义为 int a[3][2]={1,2,3,4,5,6},值为6的数组元素是( )。 B A. a[3][2] B. a[2][1] C. a[1][2] D. a[2][3] (16) 下面的程序中哪一行有错误( )。D #include main() { float array[5]={0.0}; //第A行 int i; for(i=0;i<5;i++) scanf("%f",&array[i]); for(i=1;i<5;i++) array[0]=array[0]+array[i];//第B行 printf("%f\n",array[0]); //第C行 } A. 第A行 B. 第B行 C. 第C行 D. 没有 (17) 下面哪一项是不正确的字符串赋值或赋初值的方式( )。 C A. char *str; str="string"; B. char str[7]={'s','t','r','i','n','g'}; C. char str1[10];str1="string"; D. char str1[]="string",str2[]="12345678"; (18) 若有以下说明和语句,则输出结果是哪一项( )。C (strlen(s)为求字符串s的长度的函数) char s[12]="a book!"; printf("%d",strlen(s)); A. 12 B. 8 C. 7 D. 11 (19) 若有以下说明和语句,则输出结果是( )。B (strlen(s)为求字符串s的长度的函数) char sp[]="\t\v\\\0will\n";

相关文档
最新文档