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字符。



先休息会,待会在写下篇试题题笔记..........

时间: 2024-10-18 09:01:37

C语言程序设计做题笔记之C语言基础知识(下)的相关文章

C语言程序设计做题笔记之C语言基础知识(上)

C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序.字处理程序.游戏.操作系统等.它不仅是更高级语言(如C++)的基础,目前还以Objective C的形式开发手机应用程序.目前,C语言最新版本由ISO/IEC 9899:2011 文档定义.           数据结构+算法=程序 1.1 C程序和程序设计 (1)以下

java做题笔记

java做题笔记 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法: 4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法: (1)初始化父类的普通成员变量和代码块,执行 C c = new C(); 输出C (2)super("B"); 表示调用父类的构造方法,不调用父类的

加壳学习笔记(一)-基础知识

1.预备知识 1.关于栈,在windows里面的堆栈其实很简单,当学了才知道哈,呵呵,第一要记住的是windows里面的栈是向低地址生长的(extended,延伸,呵呵,顺便丰富下英语的单词量,确实是少的可怜),你可以这样认为,栈就像是一个倒立的箱子,箱子的口子是向下的,底是向上的,这里就表明了系统栈的分布也是延伸方向是由高地址向低地址extended,在最初的空栈阶段,栈顶(extended stack pointer,简称是esp)在栈底的低一个位置,呵呵,其实很好理解,就是说最初的箱子是空

汇编入门学习笔记 (一)—— 基础知识、寄存器

疯狂的暑假学习之  汇编入门学习笔记 (一) 参考:<汇编语言> 王爽  第一,二章 一.基础知识 1. 用汇编语言编写程序的工作过程 汇编本质就是为了方便程序员,把二进制代码用汇编指令来表示 汇编指令---------------->  编译器  ---------------->机器码----------------> 计算机执行 mov ax, bx                                                          100

《solidity学习笔记》chapter 2-solidity基础知识

映射 映射本质上是存储和查找数据所用的键-值对. mapping (uint => string) intToStr; 地址 以太坊区块链由 account (账户)组成,你可以把它想象成银行账户.一个帐户的余额是 以太 (在以太坊区块链上使用的币种),你可以和其他帐户之间支付和接受以太币,就像你的银行帐户可以电汇资金到其他银行帐户一样.每个帐户都有一个"地址",你可以把它想象成银行账号.这是账户唯一的标识符. mapping (address => uint )publi

服务器架设笔记——Apache模块开发基础知识

通过上节的例子,我们发现Apache插件开发的一个门槛便是学习它自成体系的一套API.虽然Apache的官网上有对这些API的详细介绍,但是空拿着一些零散的说明书,是很难快速建立起一套可以运行的系统.(转载请指明出于breaksoftware的csdn博客) 为了实现最基础的URL解析等功能,我把<Apache模块开发指南>一书粗略了翻看了两遍,以利于迅速了解Apache模块编程的相关知识.至于书中具体的知识点,我并不在此赘述.但是为了便于大家了解之后遇到的各种相关的知识点,我大致罗列几条(摘

Java基础知识强化之多线程笔记01:多线程基础知识(详见Android(java)笔记61~76)

1. 基础知识: Android(java)学习笔记61:多线程程序的引入    ~    Android(java)学习笔记76:多线程-定时器概述和使用 

leetCode做题笔记二(26, 20,9)

LeetCode26:给定一个有序序列,求不同的元素个数并且返回不同序列,要求原地返回,O(1)空间(26, easy) 15分钟,第一次就AC了略开心,最好记录406ms貌似是前1%!虽然这个时间不靠谱 没啥可优化的了,感觉几乎没有废代码 经验?:真的会有公司考这么简单? 括号匹配.(20, easy) 最好记录430ms,前10%.稍微用了点小聪明,不过不好(使用异常做判断) 经验8:使用Stack比使用数组效率高很多,对这个题而言 经验?:真的会有公司考这么简单? 判断一个数是不是回文数,

【TPO】TPO做题笔记

还是把杂七杂八的笔记挪到这儿吧.2333 之前的做的太烂不记了 150411 TPO4 R12 L17 阅读:单词捉急->逻辑结构捉急,最后脑子里只有离散的片段,串不通全文 高中语文没学好的恶果2333 听力:有时候听力记笔记反而跟不上节奏,索性以后不做了 还有长时间的听力过程中容易走神,这个就太233了 150427 TPO5 R24 L 阅读:虽然生词还是好多但还好做的不瓤 [最后TOEFL阅读要能达到这个分我就满足了 事实证明逻辑结构很重要逻辑结构很重要逻辑结构很重要!!![尼玛比单词还重