南京信息工程大学2009-2010(1)C语言期末考试试卷B
- 格式:doc
- 大小:74.00 KB
- 文档页数:9
2010 ─ 2011 学年第二学期C语言程序设计课程试卷一、选择题(下列每题中只有一个正确答案,每题1分,共20分)1、C语言程序的基本单位。
(A)程序行(B)语句(C)函数(D)字符2、设有语句“ int a=3; ” ,则执行语句“ a+=a-=a*a; ”以后变量a的值是。
(A)3 (B)0 (C)9 (D)-123、合法的C语言字符常量是。
(A)…t‟(B)“A”(C)65 (D)A4、以下程序的输出结果是。
main(){ int a=12,b=12;printf(“%d %d\n”,--a,++b);}(A)10 10 (B)12 12 (C)11 10 (D)11 135、若变量已正确定义,那么以下语句段的输出结果是________。
x=0;y=2;z=3;switch(x){ case 0:switch(y==2){ casa 1:printf(“*”);break;case 2:printf(“%”);break;}case 1:switch(z){ case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);}}(A)%$ (B)#* (C)*# (D)**$6、设实型变量为f1、f2、f3、f4的值分别为4,3,2,1;整型变量ml、m2的值为1。
表达式“(ml=fl>f2)&&(m2=f3<f4)”的值是。
(A)0 (B)1 (C)2 (D)出错7、执行下列程序后,i 的值是。
void main(){ int i, x;for(i=1, x=1;i<20; i++){if (x>=10) break;if(x%2= =1){x+=5; continue; }x-=3;}}(A)4 (B) 5 (C)6 (D)78、对以下for循环,叙述正确的是。
for(x=0,y=0;(y!=123)&&(x<4); x++, y++);(A)执行了3次(B)执行了4次(C)是无限循环(D)循环次数不定9、在定义int a[5][4]; 之后,对a的正确引用是。
南京信息工程大学操作系统期末考试试卷南京信息工程大学试卷2015 - 2016 学年第 1 学期操作系统课程试卷( B 卷) 本试卷共 5 页;考试时间 120 分钟;任课教师赵晓平;出卷时间 2015 年 12 月学院专业年级班学号姓名得分一、选择题 (每小题1分,共 15分)1. 为了使系统中所有的用户都能得到及时的响应,该操作系统应该是( B )A.多道批处理系统B.分时系统C.实时系统D.网络系统2. 多个进程的实体能存在于同一内存中,在一段时间内都得到运行这种性质称作进程的( B )A.动态性B.并发性C.调度性D.异步性3. 避免死锁的一个著名的算法是( C )。
A.先人先出算法B.优先级算法C.银行家算法D.资源按序分配法4. 操作系统中利用信号量和P、V操作( c )。
A.只能实现进程的互斥B.只能实现进程的同步C.可实现进程的互斥和同步D.可完成进程调度5. 若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由( D )临界区构成。
A、2个B、3个C、4个D、5个6. 有三个作业同时到达,J1,J2,J3的执行时间分别为T1,T2,T3,且T1 <t2<t3,它们< p="">在一台处理机上按单道方式运行,采用短作业优先算法,则平均周转时间是( C )A. T1+T2+T3B. (T1+T2+T3)/3C. T1+2*T2/3+T3/3D. T1/3+2*T2/3+T37 段式存储管理中分段是由用户决定的,因此(B )A.段内的地址和段间的地址都是连续的。
B.段内的地址是连续的,而段间的地址是不连续的。
C.段内的地址是不连续的,而段间的地址是连续的。
D.段内的地址和段间的地址都是不连续的。
8. 可变分区存储管理采用的地址转换公式是(C)A.绝对地址=界限寄存器值+逻辑地址;B.绝对地址=下限寄存器值+逻辑地址;C.绝对地址=基址寄存器值+逻辑地址;D.绝对地址=块号*块长+页内地址;9. 某页式存储管理系统中,地址寄存器低9位表示页内位移量,则页面大小最多为(C)A.1024字节B.1025K字节C.512字节D.512K字节10. 为了对紧急进程或重要进程进行调度,调度算法应采用 C 。
大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。
A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。
A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。
A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。
A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。
A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。
A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。
A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。
A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。
A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。
A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。
A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。
2021年南京信息工程大学软件工程专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、对36位虚拟地址的页式虚拟存储系统,每页8KB,每个页表项为32位,页表的总容量为()。
A.1MBB.4MBC.8MBD.32MB2、某存储器容量为64KB,按字节编址,地址4000H~5FFFH为ROM区,其余为RAM 区。
若采用8K×4位的SRAM芯片进行设计,则需要该芯片的数量是()。
A.7B.8C.14D.163、假设在网络中传送采用偶校验码,当收到的数据位为10101010时,则可以得出结论()A.传送过程中未出错B.出现偶数位错C.出现奇数位错D.未出错或出现偶数位错4、十进制数-0.3125的8位移码编码为()。
A.D8HB.58HC.A8HD.28H5、在C语言程序中,以下程序段最终的f值为()。
Float f=2.5+1e10;f=f-1e10;A.2.5B.250C.0D.3.56、中断判优逻辑和总线仲裁方式相类似,下列说法中,正确的是()。
I.在总线仲裁方式中,独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的II.在总线仲裁方式中计数器查询方式,若每次计数都从“0”开始,则所有设备使用总线的优先级相等III.总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式IV.中断判优逻辑既可以通过硬件实现,也可以通过软件实现,A. I,IIB. I,III,IVC. I,II,IVD.I,IV7、为协调计算机系统各部件的工作,需要一种器件来提供统一的时钟标准,这个器件,是()。
A.总线缓冲器B.总线控制器C.时钟发生器D.以上器件都具备这种功能8、计算机硬件能够直接执行的是()。
1.机器语言程序IⅡ.汇编语言程序Ⅲ.硬件描述语言程序入A.仅IB.仅I、ⅡC.仅I、ⅢD. I、Ⅱ 、Ⅲ9、在计算机系统中,作为硬件与应用软件之间的界面是()。
==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数D、C语言程序将从源程序中第一个函数开始执行A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
南京信息工程大学试卷一、选择题(每小题2分,共20分)1、关于C++语言和程序,以下描述错误的是。
A)C++语言中的字母区分大小写。
B)通常用C++编写一个程序需要建立和产生多个文件。
C)机器上如果没有安装C++编译系统,输入的源程序将不能执行。
D)对C++源程序进行编译可以检查出所有的程序设计错误。
2、下面是合法的用户定义标识符。
A) AHJ B) BDG C) CEF D) CFIA. P-SB. putcharC. doubleD. _908E. *parF. caseG. windH. x yI. intJ. s[5]3、设a、b、c的值分别为15、18、21,指出运算下列表达式后x、y、a、b 和(或)c的值:x=a+b>c && c++A) x=1 a=15 b=18 c=22B) x=1 a=15 b=18 c=21C) x=0 a=15 b=18 c=21 D) x=0 a=15 b=18 c=224、设x和y均为int 型变量,则以下语句:x=x+y;y=x-y; x-=y;的功能是_ _A) 把x 和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值5、在以下存储类型中,是用于定义动态类型的变量。
A) static 和auto B)register 和externC) register和static D)auto 和register6、在一个源程序文件中有以下函数定义:(1)int sum(float x,int y) (2)float sum(float x,int y,char z){…….} {……}(3)float sum(float x,float y) (4)int sum(int x,int y,char z){……} {……}其中是重载函数A、(1)(2)(3)B、(2)(3)(4)C、(1)(3)(4)D、全部7、执行以下程序段的输出是:A) 1 2 3 4 5 6 B) 1 2 4 5C) 1 2 3 D) 1 2for(int i=1;i<7;i++) {if(i%3==0)continue; cout<<i<<'\t';}8、如果有说明int i,ch;则下列循环语句。
单项选择==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数v1.0 可编辑可修改D、C语言程序将从源程序中第一个函数开始执行答案:A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
13. 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A. if(u>s)t=u; t=s;B. t=s; if(u>s)t=u;C. if(u>s)t=s; else t=u;D. t=u; if(u>s)t=s;14. 若有定义语句:int a[10];则下列对a中数组元素正确引用的是()。
A. a[10/2–5]B. a[10]C. a[4.5]D. a(1)15.下列程序段的运行结果为()。
char s[]="ab\0cd"; printf("%s",s);A. a b0B. abC. AbcdD. ab cd16.有数组的定义char a[20];则正确的输入语句为()。
A. scanf("%s",&a);B. scanf("%s",a[]);C. gets(a[20]);D. gets(a);17.对下面函数f,选出f(f(3))的值是()。
int f(int x){static int k=0;x+=k--;return x;}A. 5B. 3C. 2D. 418.程序中调用了库函数strcmp,必须包含头文件()。
A. stdlib.hB. math.hC. ctype.hD. string.h19.设结构体类型及结构数组定义如下,则下面正确的表达式是( )。
struct student {int num;char name[20];float score;} stud[10];A) stud[2]=stud[1]+3 B) stud[1]==stud[2]C) stud[1]=stud[1]-stud[2] D) stud[1]=stud[2]20. 若变量已经被正确定义,则下面语句不正确的是( )。
A) p=&(x+1); B) p=&x;C) p=&x+1; D) p=&x,p++;三、读程序写出程序执行结果(共20分)1.#include "stdio.h"void main(){int a,b,c;a=10;b=20;c=(a%2==0)?a:b;printf("c=%d\n",c);} 2. #include "stdio.h"void main(){int x,k=2;x=5/k+1;printf("x=%d\n",x);}3.#include<stdio.h>void main(){ int x,y=0;scanf("%d",&x); // 输入3switch(x+1){ case 1: y+=1; printf("%d#",y);break;case 3: y+=3; printf("%d#",y);case 5: y+=5; printf("%d#",y);break;default: y+=7; printf("%d#",y);}}4. #include <stdio.h>void main(){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=4;for(i=0;i<k;i++)for(j=0;j<3;j++)n[j]+=n[i]+1;for(i=0;i<3;i++)printf(“%5d”,n[i]);}5.#include<stdio.h>void main ( ){int x [ ][4] = { 1, 2 ,3 , 4 ,2 , 3 , 4 , 5 , 3 , 4 , 5 , 6};int i,j, sum ;for(sum=0,i=0; i<3 ; i++){for (j = 0; j<4 ;j ++ )if ( i-j ) sum += x [ i ] [ j ] ;printf ("\n sum=%5d " , sum ) ;}}四、程序填空,按程序的功能,在划线部分填写适当的内容。
2022年南京信息工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件上、文件主的伙伴、其他用户:访问权限分为5类:完全控制、执行、修改、读取、写入。
若文件控制块中用:进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为()。
A.5B.9C.12D.202、在文件系统中,若文件的物理结构采用连续结构,则文件控制块FCB中有关文件的物理位置的信息包括(),I.首块地址 II.文件长度 III.索引表地址A.只有IIIB. I和IIC. II和IIID. I和III3、某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台打印机。
当N的取值不超过()时,系统不会发生死锁。
A.4B.5C.6D.74、有3个作业J1,J2,J3,其运行时间分别为2h,5h,3h,假定同时到达,并在同…台处理器上以单道方式运行,则平均周转时间最短的执行序列是()。
A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J25、下面关于管程的叙述错误的是()。
A.管程是进程的同步工具,解决信号量机制大量同步操作分散的问题B.管程每次只允许一个进程进入管程,C.管程中V操作的作用和信号量机制中V操作的作用相同D.管程是被进程调用的,是语法范围,无法创建和撤销6、假设页的大小为4KB,页表的每个表项占用4B。
对于一个64位地址空间系统,采用多级页表机制,至少需要()级页表(本题默认字长为1B)。
A.3B.4C.5D.67、在段页式分配中,CPU每次从内存中取一次数据需要()次访问内存。
A.1B.2C.3D.48、假设4个作业到达系统的时刻和运行时间见表。
系统在t=2时开始作业调度。
若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是()。
A.J2、J3B.J1、J4C.J2、J4D.J1、J39、实时操作系统必须在()内处理完来白外部的事件。
2022年南京信息职业技术学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是2、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);4、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
5、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
6、在C语言的赋值表达式中,赋值号左边必须是_______7、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);8、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
2022年南京信息工程大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
5、在C语言的赋值表达式中,赋值号左边必须是_______6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);10、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、下面4个选项中,是不合法的转义字符的选项是()A.'\"'B.'\1011 'C.'\0ll'D.'\abe'\\ '\' '\f' '\0ll'\xf' ' \a' '\]' 'xlf'13、一个C语言程序由( )。
南京信息工程大学试卷2009 - 2010 学年第 1学期程序设计基础/C语言程序设计课程试卷( B 卷) 本试卷共 9 页;考试时间 120分钟;任课教师课程组;出卷时间 2010 年 1月学院专业2009 年级班学号姓名得分一、单项选择题 (每小题 1分,共 14分)1. C语言规定:在一个源程序中,main的位置A)必须在最开始 B)必须在系统调用的库函数后面C)可以任意 D)必须在最后2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任意一种3.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是。
int a1,a2; char c1,c2;scanf(“%d%c%d%c”,&a1,&a2,&c1,&c2);A)10A 20B↙B)10 A 20 B↙C)10A20B↙D)10A20 B↙4.C语言对嵌套if语句的规定是:else总是与。
A)其之前最近的if配对B)第一个if配对C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对5.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。
if (a<b)if (c<d) x=1;elseif (a<c)if (b<d) x=2;else x=3;else x=6;else x=7;A)1 B)2 C)3 D)46.下述语句执行后,变量k的值是。
int k=1;while (k++<10);A)10 B)11 C)9 D)无限循环,值不定7. 引用数组元素时,其下标表达式的值类型一定是:A) char B) intC) double D) bool8.若对两个数组a和b进行初始化char a[]="ABCDEF";char b[]={'A', 'B', 'C', 'D', 'E', 'F'};则下列叙述正确的是。
A) a与b数组完全相同B) a与b数组占用内存相同C) a与b数组都存放字符串 D) 数组a比数组b占用内存大9.若调用一个函数,且此函数中没有return语句,则正确的说法是。
A)该函数没有返回值B)该函数返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值10.若用数组名作为函数调用的实参,传递给形参的是。
A)数组的首地址B)数组中第一个元素的值C)数组中的全部元素的值D)数组元素的个数11.设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是。
A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等12.若已定义char s[10];则在下面表达式中不表示s[1]的地址是。
A)s+1 B)s++C)&s[0]+1 D)&s[1]13.若有定义:int a[2][3];则对a数组的第i行第j列元素的正确引用是。
A)*(a[i]+j) B)(a+i)C)*(a+j) D)a[i]+j14.已知学生记录描述为:struct student{int no ;char name[20];char sex;struct {int year;int month ;int day ;} birth ;} s ;设结构变量s中的“birth”为“1985年10月1日”,则下面正确的赋值方式是。
A)year=1985 B)birth.year=1985month=10 birth.month=10day=1 birth.day=1C )s.year=1985D )s.birth.year=1985s.month=10 s.birth.month=10s.day=1 s.birth.day=1二、基础知识填空(每空2分,共22分)1.C 源程序的基本单位是 。
2.按照计算机科学家沃思(Wirth )的提法,一个计算机程序应包括数据结构和 两部分。
3.数学表达式yx b a y ++=22的C 语言表达式是 。
4.若s 是int 型变量,s=6;则表达式s%2+(s+1)%2的值为5.C 语言本身不提供输入输出语句,其输入输出操作是由 来实现的。
6.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B 的值是 。
7.设有以下定义语句:int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则表达式*(*(p+2)+1)的值为 。
8.设i,j,k 均为int 型变量,则执行完下面的for 循环后,k 的值为 。
for(i=0,j=10;i<=j ;i++,j--) k=i+j;9.在一个C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 。
10.C 程序中,文件可以用 和二进制两种代码形式存放。
11.下面程序的运行结果是#include<stdio.h>#define S(x) 4*x*x+1void main ( ){int m=6,n=8 ;printf(“%d\n ”,S(m+n)) ;}三、程序阅读题(每题3分,共24分)1.以下程序运行后的输出结果是 。
#include<stdio.h>int main( ){int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};int i=0,j=0,s=0;while (i++<4){if (i==2 || i== 4 ) continue ;j=0;do {s+=a[i][j];j++;}while (j<4) ;}printf("%d\n" , s );return 0;}2.下面程序的运行结果是#include<stdio.h>void copy_string(char *,char *);int main(){ char a[]="I am a top man.";char b[]="You are teachers.";copy_string(a,b);printf("\nstring_a=%s\nstring_b=%s\n",a,b);return 0;}void copy_string(char *from,char *to){ for(;*from!='\0';from++,to++)*to=*from;*to='\0';}3.下面程序运行的结果是#include<stdio.h>int main ( ){int k=1,n=463 ;do{k*= n%10 ;n/=10 ;} while (n) ;printf(“%d\n”,k);return 0;}4.按键盘上的Ctrl键回车后,下面程序执行结果是#include <stdio.h>int main(){ char c;printf("Enter a character:");c=getchar();if(c<0x20) printf("The character is a control character\n");else if(c>='0'&&c<='9') printf("The character is a digit\n");else if(c>='A'&&c<='Z') printf("The character is a capital letter\n");else if(c>='a'&&c<='z') printf("The character is a lower letter\n");else printf("The character is other character\n");return 0;}5.若输入的值是32,写出下面程序的运行结果是。
#include <math.h>#include<stdio.h>void fun(int);int main ( ){ int n ;scanf(“%d”,&n);printf(“%d=”,n);if (n<0) printf(“-”);n = fabs(n);fun(n);return 0;}void fun (int n){ int k,r ;for (k=2; k<=sqrt(n); k++) {r = n % k ;while (!r) {printf(“%d”,k); n=n/k;if (n>1) printf(“*”);r = n % k ;}}if (n!=1) printf(“%d\n”,n);}6.下面的程序的输出结果的第一行是,第二行是,第三行是。
#include<stdio.h>int main(){char *s="1221";int k=0,a=0,b=0;do{if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';}while(s[++k]);printf("k=%d\n a=%d \nb=%d\n",k,a,b);return 0;}7.以下程序执行后输出的结果是#include <stdio.h>int main( ){FILE *fp;int i,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp, "%3d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp, "%d%d",&k, &n);printf("%d,%d\n",k, n) ;fclose(fp);return 0;}8.下面程序的运行结果是#include<stdio.h>int fun (char *);int main ( ){ char *a=”abcdef” ;printf(“%d\n”,fun(a)) ;return 0;}int fun (char *s){ char *p=s;while (*p) p++ ;return (p-s) ;}四、程序填空题(每空2分,共20分)1.下面程序是是找出2009年到2050年的所有闰年,补足所缺语句,使程序完整。