第12章位运算
C语言试题库[完整版]
![C语言试题库[完整版]](https://img.taocdn.com/s3/m/321646c39fc3d5bbfd0a79563c1ec5da50e2d648.png)
C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、C程序的每行中只能写一条语句。
C、C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为{int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#incl ude “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。
C语言教学大纲

《C语言程序设计》教学大纲课程编号: 030214024课程名称: C语言程序设计课程类型: 专业必修课总学时: 72 讲课学时: 52 实验学时:20学分: 4适用对象: 计算机应用专业一、课程性质、目的和任务C语言是在国际上广泛流行的、很有发展前途的计算机高级语言,C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又有低级语言的许多优点,是计算机应用专业学生的一门必修课程。
本课程主要介绍面向过程程序设计的方法和C语言的基本概念。
学习者在学习过程逐步掌握C语言的面向过程程序设计的功能,从而掌握面向过程程序设计的基本知识和基本技能。
为后续的课程的学习奠定坚实的程序设计基础。
二、课程教学基本要求通过本课程的教学,要培养学生达到以下目标:本课程的教学目标是:通过理论和实践教学,使学生较好地掌握 C语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用 TURBO C集成环境进行C语言的编写、编译与调试,达到省二级考试要求的能应用C语言解决一般编程问题的水平。
学生通过本课程的学习,将进一步领会现代程序设计的特点和应用,为进一步学习后续的计算机相关课程打下基础。
三、基本内容与课时分配四、课程教学内容及要求第一章C语言概述【教学目标】了解C语言的发展、特点,了解简单的C程序;【教学内容】1、C语言的发展、特点、简单C程序的介绍;2、一般的上机步骤;【课时安排】 2课时【重点】C程序介绍及C程序上机过程;【难点】C语言程序的编译、连接与执行;第二章程序的灵魂—算法【教学目标】使学生能最终用C语言表示一个算法;【教学内容】1、算法的概念;2、简单算法举例;3、算法的特性;4、怎样表示一个算法;5、结构化程序设计方法;【课时安排】 2课时【重点】怎样一步一步的最终用C语言表示一个算法;【难点】几种算法的表示方法第三章数据类型、运算符和表达式【教学目标】使学生掌握各种基本数据类型,掌握好算术表达式、赋值表达式和逗号表达式的用法;【教学内容】1、C的数据结构类型;2、常量与变量;3、算术运算符与算术表达式;4、赋值表达式与逗号表达式;【课时安排】 4课时【重点】各种数据类型的特点及比较;各种表达式的用法;自增自减运算;【难点】自增自减运算;【实验要求】通过上机实践,加深对所学知识的理解;(2课时)第四章顺序程序设计【教学目标】使学生掌握最简单的程序设计;【教学内容】1、C语句概述;2、赋值语句;3、字符数据的输入输出;4、格式输入与输出;5、顺序结构程序设计举例;【课时安排】4课时【重点】赋值语句;字符的输入输出和格式输入输出;【难点】格式输入输出;【实验要求】赋值语句的使用方法;各种类型数据的输入输出的方法;各种格式转换符的使用;(2课时)第五章选择结构程序设计【教学目标】掌握各种表达式的用法;掌握IF语句,SWITCH语句;【教学内容】1、关系运算符和和关系表达式;2、逻辑运算符和逻辑表达式;3、IF 语句;4、SWITCH语句;【课时安排】4课时【重点】IF 语句;SWITCH语句;【难点】IF语句的嵌套;【实验要求】;熟悉掌握IF语句和SWITCH语句;结合程序掌握一些简单的算法;(2课时)第六章循环控制【教学目标】【教学内容】1、GOTO语句;2、WHILE语句;3、DO-WHILE 语句;4、FOR语句;5、循环的嵌套;6、BREAK语句和CONTINUE语句【课时安排】4课时【重点】WHILE 语句、FOR语句,循环的嵌套;【难点】循环的嵌套;【实验要求】掌握用WHILE语句、FOR语句和DO-WHILE语句实现循环的方法;用循环的方法实现一些常用算法(穷举、迭代、递推);(2课时)第七章数组【教学目标】掌握一维数组、二维数组和字符数组的定义、引用和初始化及其应用【教学内容】1、一维数组的定义和引用;2、二维数组的定义和引用;3、字符数组;【课时安排】4课时【重点】一维数组、二维数组和字符数组的定义、引用、输入输出和初始化及其应用;【难点】数组的应用;【实验要求】一维数组、二维数组和字符数组的定义、引用、输入输出和初始化的方法;掌握与数组有关的算法;(2课时)第八章函数【教学目标】学生掌握模块化程序设计的方法;【教学内容】1、函数定义的一般形式;2、函数参数和函数的值;3、函数的调用;4、函数的嵌套调用;5、函数的递归调用;6、局部变量和全局变量;7、变量的存储类别;8、内部函数和外部函数;【课时安排】6课时【重点】函数参数和函数的值;函数的调用;局部变量和全局变量;变量的存储类别;【难点】函数参数和函数的值;局部变量和全局变量;【实验要求】掌握普通函数、递归函数的写法;第九章预处理命令【教学目标】掌握宏定义的方法;掌握文件包含的方法;掌握条件编译的方法;【教学内容】1、宏定义;2、“文件包含”处理;3、条件编译;【课时安排】2课时【重点】宏定义;“文件包含”处理;【难点】宏定义;【实验要求】能够正确定义和使用宏。
C语言基础知识答案

29 C 30 B 31 A 32 A 33 B 34 B 35 A 36 D 37 B 38 B
二填空题
10 72k *k3*x t4int * *t5(1)s=p+3;(2)s=s-2(3)66(4)*(s+1)(5)4
16 A 17 D 18 B 19 C C 27 D 28 B
29 D 30 A 31 C 32 A 33 D 34 D 35 B 36A 37 D 38 C 39 C 40C 41C
42B 43A
二填空题
1IJKLEFGHABCD23394752661371 3 6879(double*)
第一章C语言基础知识
一选择题
1 B 2 DBD 3 BE 4 A 5 B 6 C 7 B 8 C 9 D 10 BDD 11 D 12 D 13 C
14 AC 15 A 16 CC 17 D 18 A 19 AAA 20 D 21 D 22 BDDBB 23 A 24 D
25 D 26 A 27 C 28 A 29 B 30 CG 31C 32 DDBA 33 C 34 D 35 D 36 D
16 D 17 D 18 B 19 D 20 B 21 C22 A 23 A 24 A 25 C 26 A 27 B 28 D 29B
30 B 31D
二填空题
12223435 2410 4516 6 struct STRU 7 ex 8 sizeof(struct node)
9 b->day, (*b).day 10 3,3 11 struct link *next 12 struct node * 13 struct STRU*
C语言程序设计习题集(可以很好的帮助语言的学习)

[1.3] 结构化程序由 种基本结构组成 。
2011-8-22
顺序
、
选择(分支) 选择(分支)
和
循环
三
4
第二章 C程序设计的初步知识
一、选择题
[2.1] 以下选项中正确的整型常量是 A) 12. B) -20 C) 1,000 [2.2] 以下选项中正确的实型常量是 A) 0 B) 3. 1415 C) 0.329*102 [2.3] 以下选项中不正确的实型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.77 。 D) 4 5 6 D).871 ) D) 456e-2
[2.10] 以下叙述中正确的是 A)在 程序中无论整数还是实数 程序中无论整数还是实数, A)在C程序中无论整数还是实数,只要在允许的范围内 都能准确无误的表示。 都能准确无误的表示。 B)C程序由主函数组成 程序由主函数组成。 B) 程序由主函数组成。 C)C程序由函数组成 程序由函数组成。 C) 程序由函数组成。 D)C程序由函数和过程组成 程序由函数和过程组成。 D) 程序由函数和过程组成。
2011-8-22 3
第一章 程序设计基本概念
[1.1] 在TURBO C环境中用 环境中用RUN命令运行一个 程序 命令运行一个C程序 环境中用 命令运行一个 时,所运行的程序的后缀是 .EXE 。 [1.2] C语言源程序文件的后缀是 ______, 经过编译 语言源程序文件的后缀是 .C , .OBJ ,经过连接后, 后, 生成文件的后缀是 ______,经过连接后, 生成文 件的后缀是______。 件的后缀是 .EXE 。
2011-8-22 7
[2.11] TURBO C中int 类型变量所占字节数是 中 A) 1 B) 2 C) 3 [2.12] 不合法的八进制数是 A) 0 B) 028 [2.13] 不合法的十六进制数是 A) oxff B) 0Xabc C) 077
按位取反运算

a =10011010
/*十六进制为 9a*/
b =01010110 a^b = 1 1 0 0 1 1 0 0
/*十六进制为 56*/ /*十六进制为 cc*/
可以发现,任何一位与 1“异或”时,其结果是将这一位取反,即由 1 变成 0,或者由 0 变成 1。
按位异或运算符的一些特殊的用途: (1) 使特定位翻转 假设有 01111010,想使其低 4 位翻转,即 1 变为 0,0 变为 1。可以将它与 00001111 进行∧运算,即
a =10011010 b =01010110 a|b = 1 1 0 1 1 1 1 0
/*十六进制为 9a*/ /*十六进制为 56*/ /*十六进制为 de*/
可以发现,任何一位与 0“或”时,其结果就等同于这一位。 按位或有一些特殊的用途: (1)将一个数中某些指定位置 1。如果想将一个数的某些位置 1,只要找一个二进制
例如,若变量 a 被定义成 unsigned char,即无符号型,则有:
a =10011010 a>>2 = 0 0 1 0 0 1 1 0
/*十六进制为 9a*/ /*十六进制为 26*/
若变量 a 被定义成 char,即有符号型,则有:
a =10011010 a>>2 = 1 1 1 0 0 1 1 0
记,显然是不合算的。C 语言允许在一个结构体中以位为单位来指定其成员所占内存长度, 这种以位为单位的成员称为“位段”或称“位域” ( bit field) 。利用位段能够用较少的位数存 储数据。
9.2.1 位段结构体说明
位段结构体说明的一般形式为: struct 位段结构体名 {
unsigned int [位段名 1]:k1; unsigned int [位段名 2]:k2; …… unsigned int [位段名 n]:kn; }; 其中 k1,k2,…,kn,一般是 0—9 中的一个数,表示某位段成员占的二进制位数(位 段的宽度)。 例如: struct packeddata { unsigned a:2; unsigned b:6; unsigned c:4; unsigned d:4; int i; }data; 其中 a、b、c、d 分别占 2 位、6 位、4 位、4 位。i 为整型。共占 2 个字节。也可以使 各个位段不恰好占满一个字节。如: struct packeddata { unsigned a:2; unsigned b:3; unsigned c:4; int i;
计算机组成原理(第四版)课后答案_白中英

计算机组成原理(第四版)课后习题参考答案
白中英 戴志涛 李贞 等
第一章 ..............................................................................................................................................2 第二章 ..............................................................................................................................................4 第三章 ............................................................................................................................................15 第四章 ............................................................................................................................................20 第五章 ............................................................................................................................................22 第六章 ............................................................................................................................................28 第七章 ............................................................................................................................................32 第八章 ............................................................................................................................................35 第九章 ............................................................................................................................................37 第十章 ............................................................................................................................................ M = 100…0, Ms = 0 8个 21 个 即: 2 2 2
第11章 C语言的最小数据单位——位
1
第11章 C语言的最小数据单位——位
11.1 11.2 11.3 11.4 11.5
位运算基础 位运算符 位运算实例 位段 小结
2
11.1 位运算基础
11.1.1 11.1.2 11.1.3 11.1.4
位与字节 原码 反码 补码
5
11.1.3 反码
用原码进行两个整数的加法运算中没有问题,问题出现在带符号 位的负数身上。为了解决这个问题,可对除符号位外的其余各位 逐位取反,就产生了反码。 机器数的反码可由原码得到。如果机器数是正数,则该机器数的 反码与原码相同,如果机器数是负数,则该机器数的反码是对它 的原码(符号位除外)各位取反而得到的。设有一数X,则X的反 码表示记作(X)反。例如: (11)反=(00001011)原=00001011 (-11)反=(10001011)原=11110100
17
11.4.2 位段的引用
位段的引用和结构成员的引用相同,其一般形式为:位段变量名. 位段名。例如: data.a,data.b 位段可以赋值,例如: data.a=54; data.b=3;
【例11-8】本实例演示了位段的引用。
18
11.5 小结
前面先后介绍了数的原码、反码和补码的由来及转换方法,位运 算符及相关的运算,位段的定义及使用。 C语言中用“位段”来访问字节中的某些位。所谓“位段”,又 称为“位域”或“位字段”,是把一个字节中的二进制位划分为 几个不同的区域,并说明每个区域的位数。每个域有一个域名, 允许在程序中按域名进行操作。
13
11.2.6 右移运算符
c教学日历罗容-设备
青岛理工大学教学周历表
2010 ~2011学年第二学期
专业:机械授课班级:设备101-4,热动102
教师所在院部:计算机工程学院
授课教师姓名、职称:罗容副教授
选用教材:C语言程序设计教程,张敏霞等编,电子工业出版社
主要参考书:C程序设计语言,刘瑞新等,机械工业出版社
教研室主任签字:教学院长(主任)签字:
2011 年3月8日
注:
1.讲授内容应紧紧围绕教学大纲的内容填写;
2.课程作业、习题课、实验、上机内容应与授课的章节相对应;
3.教学周历需打印两份,经教研室主任、教学院长(主任)审核签字后,分别留存学院(部)、教务处备查;
4.右上角方框内学时仅填写课内学时。
Ubuntu Linux操作系统第3版(微课版)—第12章
第12章 Ubuntu服务器 27
• 动态调整逻辑卷容量 (1)使用vgdisplay命令查验testvg卷组的情况,发现还有空间未被使用。 (2)执行lvresize命令基于卷组testvg所有剩余空间进一步扩充逻辑卷testlv。 (3)再次使用vgdisplay命令查验testvg卷组的情况,发现PE都用尽了。 (4)执行lvdisplay命令显示逻辑卷testlv的详细情况。 (5)检查该逻辑卷文件系统的磁盘空间占用情况。 (6)调整文件系统容量。 对于ext系列文件系统,需要使用resize2f命令来动态调整文件系统容量。 resize2fs [选项] 设备名 [新的容量大小] 对于xfs文件系统,可以执行xfs_growfs命令调整容量。
第12章 Ubuntu服务器 5
• 选择键盘配置
12.1 Ubuntu服务器的安装和配置管理
安装Ubuntu服务器 • 选择安装的类型
第12章 Ubuntu服务器 6
• 配置网络连接
12.1 Ubuntu服务器的安装和配置管理
安装Ubuntu服务器 • 根据需要配置HTTP代理
第12章 Ubuntu服务器 7
动态调整磁盘存储空间
第12章 Ubuntu服务器 25
• 创建逻辑卷 (1)准备相应的物理存储器,创建磁盘分区。可以以两个磁盘分区/为例。磁盘、磁盘 分区、RAID阵列都可以作为存储器转换为LVM物理卷。 (2)使用pvcreate命令将上述磁盘分区转换为LVM物理卷(PV)。 (3)执行pvscan命令来检测目前系统中现有的LVM物理卷信息。 (4)使用vgcreate命令基于上述两个LVM物理卷创建一个LVM卷组,例中将其命名为 testvg。 (5)执行vgdisplay命令显示卷组testvg的详细情况。
全国计算机等级考试二级C语言题型分析
《全国计算机等级考试二级C语言》资格考试题型分析二级C考试分笔试和机试两部分,两部分总分均为100分,两部分考试均需60分以上才能合格发放证书。
若其中一科(笔试或机试)通过,另一科可在下一次考试中补考,若补考合格发放证书。
若二科均在85分以上,在合格证书上将加印“优秀”字样,若二科均在70分以上,在合格证书上将加印“良好”字样。
(一)笔试笔试内容分两部分。
公共基础知识考核内容:30分;C语言基础知识考核内容:70分。
题型分析如下:1、单向选择题40道题,共70分。
分值分布如下:其中(1)-(10)、(21)-(40)小题,每題2分,(11)-(20)小题,每题1分。
考核内容分布如下:(1)-(10)小题为公共基础知识考核内容,共计20分;(11)-(40)小题为C语言知识考核内容,共计50分。
2、填空题15个空,每空2分,共30分。
考核内容分布如下:(1)-(5)空为公共基础知识考核内容,共计10分;(6)-(15)空为C语言知识考核内容,共计20分。
(二)机试机试三道题:程序填空题,30分;程序修改题,30分;程序设计题,40分。
1、程序填空题通常会给出一段源代码,设计三个空需要你来填写。
每空10分。
例如:#include#include#define M 5#define N 20void fun(char (*ss)[N]){ int i, j, k=0, n, m, len;for(i=0; i{ len=strlen(ss[i]);if(i==0) n=len;if(len>n) {/**********found**********/n=len; ___1___=i;}}for(i=0; iif (i!=k){ m=n;len=strlen(ss[i]);/**********found**********/for(j=___2___; j>=0; j--)ss[i][m--]=ss[i][j];for(j=0; j/**********found**********/___3___='*';}}main(){ char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};int i;printf("\nThe original strings are :\n");for(i=0; iprintf("\n");fun(ss);printf("\nThe result:\n");for(i=0; i}2、程序修改题通常会给出一段源代码,设计2-3个错误需要你来修改。