C语言程序设计做题笔记之C语言基础知识(上)
C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务。我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事。并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序、字处理程序、游戏、操作系统等。它不仅是更高级语言(如C++)的基础,目前还以Objective C的形式开发手机应用程序。目前,C语言最新版本由ISO/IEC 9899:2011 文档定义。 数据结构+算法=程序
1.1 C程序和程序设计
(1)以下叙述中错误的是:
A) C程序经过编译、连接步骤之后才能形成一个正真可以执行的二进制机器指令文件
B) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
C) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
D) C语言源程序经编译后生成后缀为.obj的目标程序
分析: C 在C语言中非执行语句(如:宏定义在预编译之后替换到代码中,该命令本身也就不存在了)。
a. 源程序文件的后缀为 .c b.源程序经过C编译生成后缀为 .obj的二进制文件(目标文件) c.把目标文件与C语言各种库函数连接起来生成后缀 .exe的可执文件
(2)以下叙述中错误的是:
A) 结构化程序由顺序、分支、循环三种基本结构组成
B) C语言是一种结构化程序设计语言
C) 使用三种基本结构构成的程序只能解决简单问题
D) 结构化程序设计提倡模块化的设计方法
分析: C 由3种基本结构组成的算法可以解决任何复杂的问题
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)算法:是指为解决某个特定问题而采取的确定且有限的步骤,在C语言中一个算法是用函数来实现的,即一个C语言程序可以实现多种算法。
(2)算法具有5个特征: 1.有穷性 2.确定性 3.可行性 4.有零个或多个输入 5.一个或多个输出
(3)算法的描述有: 1.流程图 2.盒图(如N-S图) 3.伪代码 4. 文字描述 5.程序代码描述
(4)计算机不能直接处理C语言程序只能处理二进制代码。
(5)每一个C语言文件或函数都可以单独编译,但只有main函数的才可以执行。
1.2 程序的构成、main函数和其他函数
(1)以下叙述中错误的是:
A) C程序在运行过程中所有计算都以二进制方式进行
B) 所有C程序都需要编译链接无误后才能进行运行
C) C程序在运行过程中所有计算机都以十进制方式运行
D) C程序中字符变量存放的是字符的ASCII值
分析: C 计算机程序都是编译为二进制的代码,计算机才会执行。
(2)以下叙述中正确的是:
A) 在C程序中main函数的位置是固定的
B) C程序中所有函数之间都可以互相调用
C) 每个C程序文件中必须要有一个mian函数
D) 在C程序的函数中不能定义另一个函数
分析:D 主函数可以调用程序中的其他函数,而其他函数不可以调用main函数。
C语言规定,不能在函数的内部定义函数。
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)关键字 sizeof用于测试不同类型变量所占的内存空间,返回所占的字节数。 sizeof(是测试内存的运算符)
(2)在C语言中规定,允许函数的嵌套调用,即递归调用。
(3)在C语言中,不能存在过程的概念。
(4)在C语言中,函数允许单独编译,可以为单独文件形式存在。
(5)用函数作为 程序模块以实现C程序的模块化,程序有多个 函数构成,每个 函数可以实现一个具体的功能,实现程序的模块化设计,故C语言用函数实现软件的模块化。
(6)调用函数的位置和调用没有直接关系
1.3 程序的注释、书写格式及C语言风格
(1)以下四个程序中,完全正确的是:
A) #include <stdio.h>
main();
{ /*/ Programming
/*/ printf("Programming!\n");}
B) #include <stdio.h>
main()
{ /* Programming */
printf("Programming!\n");}
C) #include <stdio.h>
main();
{ /*/* Programming */*/
printf("Programming!\n");}
D) #include <stdio.h>
main();
{ /* Programming */
printf("Programming!\n");}
分析: B main()后面不用跟分号(;),规定在注释之间不可以在嵌套 "/*"和"*/"。
(2)以下叙述中正确的是:
A) C程序书写格式严格,要求一行内只能写一个语句
B) 简单C语句必须以分号结束
C) C语言程序中的注释必须与语句写在同一行
D) C程序中的注释只能出现在程序的开始位置和语句的后面
分析:B C语言书写格式自由,一行内可写多条语句,一条语句也可以写在同行上,可以写一行或多行。
每条语句和数据定义的最后必须有一个分号。
C语言编写程序有很多的可移植性,可以放在多个程序文件中。
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)程序可以包含一种或者几种结构,不是必须包含三种结构,并且这三种基本结构能解决复杂的问题也能解决小规模的问题。
(2)goto语句的使用会使程序容易发生错误不易读。
(3)在数值常量中不允许夹带空格。
(4) C语句后面要加分号(;),不加分号不能看成C语句。
1.4 标识符、常量和变量
(1)以下选项中不合法的标识符是:
A) FOR
B) &a
C) print
D) _00
分析: B 标识符要满足字符为 a~z 以及 A~Z、数字字符 0~9和下划线,其中数字不能开头,不能是关键字。 大小写是两种不同的字符。
(2)以下选项中,能用作数据常量的是:
A) 115L
B) 0018
C) 1.5e1.5
D) o115
分析:A 数据常量可有: 1.10进制 2.8进制数(数字0~7) 3.16进制 4.指数法(指数部分须为整型)
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)变量是指在程序运行过程中,其值能被改变的量。
(2)在C语言中,没有定义逻辑类型,0代表假,非零代表真。
(3) 符号常量:在C语言中,用一个符号名来表示一个常量,称为符号常量。一般在程序中利用宏定义来定义符号变量。
(4)标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。
1.5和1.6 整型数据和实型常量、变量
(1)以下选项中,合法的一组C语言数值常量是:
A) 12.0Xa23 4.5e0
B) 028 .5e-3 -0xf
C) .177 4e1.5 0abc
D) 0x8A 10,000 3.e5
分析: A 浮点数据的指数形式表示常量中,C语言规定字母 e或E之前必须要有数字,且 e或E之后的指数必须为整数。
(2)以下选项中合法的实型常量是:
A) .914
B) 3.13e-2.1
C) 0
D) 2.0*10
分析:A 实型常量又称实数或浮点数。 在C语言中可以用小数形式或指数形式两种形式表示一个实型常量。 1.小数形式:由数字和小数点组成的一种实数表示形式。例如 0.345、.123、0.0等是合法的实数。这种形式必须要有小数点。 2.指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂函数,注意C语言规定字母 e或E之前必须要有数字,且 e或E之后的指数必须为整数。
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)变量可以定义在程序中任何地方,属于不同的变量。
1.7 字符型常量及字符变量
(1)以下定义语句中正确的是:
A) char A=65+1,b='b';
B) int a=b=0;
C) float a=1,*b=&a,*c=&b;
D) double a=0.0; b=1.1;
分析: A 对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋值。 C语言允许在一个类型说明后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开。
在计算机存储字符是姜字符相应的ASCII码以其对应的二进制进行存放。
(2)以下选项中非法的C语言字符常量是:
A) '9'
B) '\09'
C) '\x09'
D) '\x9d'
分析:B 一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来,也可以为转义字符,转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内,其中反斜线后的八进制数可以不用0开头,但是不能出现8和9字符出现。反斜线后的16进制只可由小写字母x开头。
(......后面还有好多题目,就不一一写了)
做题笔记知识归纳:
(1)每一个字符变量被分配一个字符的内容空间,只能存放一个字符。
(2)'\ddd' 3位八进制代表一个ASCII字符 也可以 '\xhh'2位16进制代表一个ASCII字符。
先休息会,待会在写下篇试题题笔记..........
C语言程序设计做题笔记之C语言基础知识(上)的更多相关文章
- C语言程序设计做题笔记之C语言基础知识(下)
C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...
- java做题笔记
java做题笔记 1. 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序 ...
- SDOI2017 R1做题笔记
SDOI2017 R1做题笔记 梦想还是要有的,万一哪天就做完了呢? 也就是说现在还没做完. 哈哈哈我竟然做完了-2019.3.29 20:30
- SDOI2014 R1做题笔记
SDOI2014 R1做题笔记 经过很久很久的时间,shzr又做完了SDOI2014一轮的题目. 但是我不想写做题笔记(
- SDOI2016 R1做题笔记
SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动.. ...
- LCT做题笔记
最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往 ...
- SAM 做题笔记(各种技巧,持续更新,SA)
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模 ...
- Spring Cloud微服务实战阅读笔记(一) 基础知识
本文系<Spring Cloud微服务实战>作者:翟永超,一书的阅读笔记. 一:基础知识 1:什么是微服务架构 是一种架构设计风格,主旨是将一个原本独立的系统拆分成多个小型服务 ...
- 《JAVA语言程序设计》上课笔记
教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一. 问几个问题 1. 你们到这里来干什么 ...
随机推荐
- 查看MySQL数据库表的命令介绍
如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...
- flash解析json格式
flash对于json格式的解析在Flash CS6的版本对于json格式的数据提供了支持,用以下方式即可以进行转换: var persons = JSON.parse('[{"name&q ...
- Java基础知识强化之IO流笔记42:IO流总结(图解)
1. IO流总结(图解)
- 关于Ubuntu修改默认运行级别
第一种方法:(内核级别的) Sudo vi /etc/default/grub 修改GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 为:GRUB_CMDLINE ...
- xml、xhtml、html、dhtml的区别
1.XML 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 可扩展标记语言可以对文档和数据进行结构化处理,从而能够在部门.客户和供应商之间进行交换,实现动态内 ...
- ASP.NET页面生命周期总结(2)
HttpAplicationFactory获取一个HttpApplication对象: 内部:1.如果是第一次请求过来,那么就把global文件编译成一个类型.(后续请求来的,就可以直接获取这个类型) ...
- Ext.Net学习笔记11:Ext.Net GridPanel的用法
Ext.Net学习笔记11:Ext.Net GridPanel的用法 GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: < ...
- C#基础总复习03
继续更新...接下来就是面向对象的知识了 1.面向对象:概念:使用面向对象的思想进行编程可以让的程序变得扩展性更高,便于维护: 我们在现实生活中去描述一个人的时候,通过描述这个人的特征和行为. 我们在 ...
- 加载jar文件输出class和method
package file import java.util.jar.JarEntry import java.util.jar.JarFile import org.junit.Test; class ...
- HDU 4628 Pieces(DP + 状态压缩)
Pieces 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628 题目大意:给定一个字符串s,如果子序列中有回文,可以一步删除掉它,求把整个序列删除 ...