天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)
c语言模拟考卷
![c语言模拟考卷](https://img.taocdn.com/s3/m/224b0690783e0912a3162a53.png)
扬州大学试题纸( 0 - 0 学年 第 二 学期) 信息工程 学院 班〔年〕级课程 C 语言程序设计模拟试卷一、单项选择题〔20分,每题1分〕 1.以下表达式中,不能正确表达代数式ab xy 2含义的C 语言表达式是〔 〕。
A .x/a/b*y*2 B.2*x*y/a/b C.2*x*y/a*b D.x*y/b/a*2 2.假设s 是int 型变量,那么表达式s%2+(s-1)%2的值为〔 〕 A .0 B.1 C.–1 D.2 3.假设调用一个函数,且此函数中没有return 语句,那么表示该函数〔 〕。
A .没有返回值 B .返回假设干个系统默认值 C .返回一个用户所希望的函数值 D .返回一个不确定的值 4.执行以下程序段后的输出结果是〔 〕。
char str[ ]={“\t\bc\\Language\n\0g 〞}; printf("%d\n", strlen(str)); A.12 B.13 5. 以下程序的输出结果是〔 〕。
main() { int x=1,y=2,z=3; x=y--<=x||x+y !=z ; printf(“ %d,%d 〞,x,y) ;}A.0,1B.0,2 ,1 D.1,26.以下不是死循环的语句是〔〕A. int i=100;while(1) { i=i%100+1; if(i>100) break; }B. for( ; ; );C. int k=0;do{ ++k; } while(k>=0);D. int s=6;while(s); --s;7.下面能使i的运行结果为4的表达式语句是〔〕。
A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j= =1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=2;8.假设有以下宏定义:#define N 2#define Y(n) ((N+1)*n)那么执行语句“z=2*(N+Y(5));〞后的结果为〔〕。
2010级(信息)C语言程序设计_A(2011.1)
![2010级(信息)C语言程序设计_A(2011.1)](https://img.taocdn.com/s3/m/026395d23186bceb19e8bbaf.png)
天津工业大学2010~2011学年第 1 学期高级语言程序设计(C语言) 试卷(A卷)学院班级学号姓名注意事项:1、本试卷共12 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,合法的变量名是【1】。
A) g_1 B) 3d C) u-d D) a&b2.以下叙述正确的是【2】。
A)在C程序中,main()函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D)在C程序中,注释说明只能位于一条语句的后面3.若k,g均为int型变量,则以下语句的输出为【3】。
int k,g;k=017;g=111;printf("%d, ",k);printf("%x\n",g);A) 15,6f B) f,6f C) f,111 D) 15,1114.表达式sizeof(double)是【4】。
A) 一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式5.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为【5】。
A) 1 B) 2C) 3 D) 46.设有说明:char w; int x; float y; 则表达式w*x+y/4.0值的数据类型为【6】。
A) float型B) int型C) double型D) char型7.设有变量定义语句char ch; 则能够正确地为变量ch输入数据的是【7】。
A) getchar(ch); B) putchar(ch);C) scanf("%c",ch); D) scanf("%c",&ch);8.设int i=0,j=2,k=3;则表达式i&&(i+k)&k|j+i的值是【8】。
2008级C语言程序设计试卷_A带答案(2009.6)
![2008级C语言程序设计试卷_A带答案(2009.6)](https://img.taocdn.com/s3/m/2305645bad02de80d4d8405f.png)
天津工业大学200 8 ~200 9 学年第 2 学期C 程序设计试卷(A)学院班级学号姓名注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
二、阅读程序题答题处:(每空3分,共30分)四、完善程序填空题答题处:(每空2分,共18分)一、单项单选题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,能够作为变量名使用的是【1】。
A) n_1 B) charC) x(2) D) 2_a2.若有定义语句char ch='\072'; 则变量ch 【2】。
A) 定义错误B) 包含1个字符C) 包含3个字符D) 包含4个字符3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。
char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1);A) D,D B) 68,DC) D,68 D) 68,684.若有如下语句:int x; float y;scanf("k=%d,f=%f",&x,&y);则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。
说明:备选答案中的<CR>表示回车符A) 5 3.2 <CR> B) 5 <CR> 3.2 <CR>C) k=5,f=3.2 <CR> D) x=5,y=3.2 <CR>int k=10; printf("%d,%o,%x",k,k,k);A) 12,a,10 B) 12,10,aC) 10,12,a D) 10,a,126.判断char 型变量ch 是否为小写字母的正确表达式是【6】。
信息与通信工程学院05-06-2C语言试卷(A卷)
![信息与通信工程学院05-06-2C语言试卷(A卷)](https://img.taocdn.com/s3/m/2e108a3e1ed9ad51f01df27a.png)
天津工业大学信息与通信工程学院05-06-2学期《C语言程序设计》期末试卷(A卷)学号班级姓名一、单选题(每题2分,共42分)1.下列字符串中不是正确的C语言标识符的是:A. longintB. AverageC. Day5D. π2. 四个运算符>.,+优先级由高到低的顺序是:A. >.,+B. +>,.C. .+>,D. ,>+.3. 表达式((int)3.7+8.5)%3的值是:A. 0B. 1C. 2D. 这是一个错误的表达式,不会有值4. 已知int i=1 , j ; 经过j=(i++,i++||i++);语句之后,j的值是:A. 1B. 2C. 3D. 45. 已知int a=5; 经过语句a+=a*=a-=a;语句之后,a的值是:A. 0B. 5C. 15D. 206. 程序段如下:char k=1; while (k>0) k=k+1;则以下说法正确的是:A. while循环执行32767次B. while循环执行255次C. while循环执行127次D. while循环是死循环7.关于return语句,下列说法中不正确的是:A.函数的返回值是通过return语句获得的B.void函数的函数体内最后一条语句也可以是return语句C.return语句后面可以是常量、变量名或表达式,只要有确定的值即可D.函数的返回值也可以通过函数体内的一条给函数名赋值的语句得到8.按照C语言的规定,下列说法不正确的是:A.实参可以是常量、变量或表达式,在传递给形参时,要求实参必须有确定的值B.形参不可以是常量C.实参的个数应该与形参一样多D.形参的值能传递给实参9.关于C语言的控制语句,下列说法错误的是:A. 循环体可以是一个循环语句B. break能结束一个函数的调用C. else必定与它上面最近的没有配对的if相配对,且这个if与else之间只可以有一条语句相隔D. continue语句不能使用在goto构成的循环中10. 下一函数的作用是:void fun(char a[],char b[]){ char *p=a,*q=b;for(;(*p=*q)!='\0';p++,q++);}A. 将字符串b复制到aB. 将字符串a复制到bC. 将字符串b连接到a中的字符串后面D. 将字符串a连接到b中的字符串后面11.#include "stdio.h"long f(int n){if(n==0||n==1) return 1;else return n*f(n-1);}main(){ printf("%ld\n",f(5)); getch( ); }上一程序的输出结果是:A. 120B. 15C. 5D. 2512.#define M(a,b) a*bmain(){printf("%d",M(1+2,3+4));getch();}上一程序的输出结果是:A. 3B. 7C. 11D. 2113.int f(char *a){char *p=a;for(;;)if(*p++=='\0') break;return p-a-1;}这一函数的功能是:A. 求出指针a所指向的字符串的长度B. 求出指针a所指向的字符串的长度-1C. 求出指针a所指向的字符串的第一个字符的ASCII码D. 求出指针a所指向的字符串的末尾一个字符的ASCII码14.main(){ char c[20]="ABCD";puts(c+2);}上一程序的输出结果是:A.CDB.6C.ABCDABD.ABCDCC15. (提示:'A'的ASCII码是65。
2022年天津工业大学公共课《C语言》科目期末试卷B(有答案)
![2022年天津工业大学公共课《C语言》科目期末试卷B(有答案)](https://img.taocdn.com/s3/m/c73d4e40bf23482fb4daa58da0116c175f0e1eae.png)
2022年天津工业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、在C语言源程序中,一个变量代表【】。
4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。
5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、在C语言中,二维数组元素在内存中的存放顺序是_______。
9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
10、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}二、选择题11、若有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A.2.500000B.2.750000C.3.500000D.0.000 00012、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""13、一个C语言程序由( )。
南京邮电大学《C语言程序设计》2023-2024学年第一学期期末试卷
![南京邮电大学《C语言程序设计》2023-2024学年第一学期期末试卷](https://img.taocdn.com/s3/m/26c6ea4954270722192e453610661ed9ac515570.png)
南京邮电大学《C语言程序设计》2023-2024学年第一学期期末试卷《C语言程序设计》考试内容:《C语言程序设计》;考试时间:120分钟;满分:100分;姓名:——;班级:——;学号:——一、选择题(每题2分,共20分)1. 下列哪个选项是C语言合法的标识符?A. `2number`B. `_var`C. `int`D. `if`2. 下列关于C语言数据类型的说法中,哪个是错误的?A. `char` 类型用于存储单个字符。
B. `float` 和`double` 都是浮点型数据类型,但`double` 的精度高于 `float`。
C. `void` 类型用于表示无类型,不能用于声明变量。
D. `int` 类型的变量占用4个字节的内存空间(注:此选项可能因编译器和平台而异,但在此上下文中作为示例)。
3. 下列哪个语句能够正确地从标准输入读取一个整数并存储在变量`num`中?A. `scanf("%f", &num);`B. `scanf("%d", num);`C. `printf("%d", &num);`D. `scanf("%d", &num);`4. 下列哪个循环结构在条件表达式为真时至少执行一次循环体?A. `for` 循环B. `while` 循环C. `do-while` 循环D. 以上都是,取决于条件表达式5. 假设有数组定义`int arr[5] = {1, 2, 3, 4, 5};`,则`arr[2]`的值是?A. 1B. 2C. 3D. 46. 在C语言中,关于函数返回值的说法错误的是?A. 函数可以没有返回值,此时返回类型应为`void`。
B. 函数只能返回一个值,且该值的类型必须与函数声明的返回类型一致。
C. 函数返回的值可以通过赋值语句赋给另一个变量。
D. 函数返回的值类型必须是`int`。
天津工业大学高频08-09年C卷-
![天津工业大学高频08-09年C卷-](https://img.taocdn.com/s3/m/9bc0b48f83d049649b6658de.png)
2008年---2009年第一学期《高频电子技术》期末考试试卷(C )姓 名: 学 号: 专业班级:一、填空题(每空1分,共20分)1. 谐振功率放大器的输入激励信号为正弦波时,集电极电流为_______________________。
2. 基极调幅电路,在调制过程中,cc V ,bm U ,P R 保持不变,惟有基极等效偏置电压随_____________而变化,当放大器工作在_____________区时,集电极电流的基波分量和集电极谐振回路两端电压随基极等效偏置电压而_____________变化,因而实现了基极调幅。
3. 正弦振荡器的起振条件是__________________,平衡条件是_________________,振幅稳定条件是_____________________,相位稳定条件是_______________________ 。
4. 石英晶体谐振器的串联谐振角频率q ω和并联谐振角频率p ω的关系为_______________。
5. 在保持调制类型和调制参数不变的情况下,将频率为s f 的已调波信号变为频率i f 的中频信号的过程称为_________________。
6. 当调制信号为t V v Ω=ΩΩcos ,载波信号为t V v 00cos ω=,则调制度为m a 的调幅波表达式为______________________________________________,调制指数为m f 调频波表达式为________________________________________________,调制指数为m p 调相波表达式为________________________________________________。
7. 若调幅波的最大振幅值为10V ,最小振幅值为6V ,则其调制系数a m 为________。
8. 产生单边带信号的方法有:(1)________________________,(2)___________________________,(3)_______________________________三种方法。
信息科学与工程学院C语言上机150道题参考答案
![信息科学与工程学院C语言上机150道题参考答案](https://img.taocdn.com/s3/m/e0fa1cc049649b6648d7478a.png)
信息科学与工程学院C语言上机150道题参考答案001#include<stdio.h>#include<conio.h>main(){float a[10],ave,max,min,sum=0;int i;printf("请输入10个考生的成绩:\n");for(i=0;i<10;i++)scanf("%f",&a[i]);for(i=0;i<10;i++)sum+=a[i];ave=sum/10;max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];min=a[0];for(i=1;i<10;i++)if(a[i]<min)min=a[i];printf("平均成绩:%f,最高分:%f,最低分:%f",ave,max,min);getch();}002#include<stdio.h>#include<conio.h>main(){int a,b;printf("输入两个整数:\n");scanf("%d %d",&a,&b);printf("这两个整数的商是:%.5f",(float)a/b);getch();}003#include<stdio.h>#include<conio.h>main(){int i=33;while(i<=127){printf("%c ",i);i++;}getch();}004#include<stdio.h>#include<conio.h>main(){int i=33;do{printf("%c ",i);i++;}while(i<=127);getch();}005#include<stdio.h>#include<conio.h>main(){int i;for(i=33;i<=127;i++)printf("%c ",i);getch();}006#include<stdio.h>#include<conio.h>main(){int i;for(i=1;i<=500;i++){if(i%3==2&&i%5==3&&i%7==5) printf("%d\n",i);}getch();}007(方法一)#include<stdio.h>#include<conio.h>#include<string.h>main(){char a[100];int len,i;printf("请输入一个整数:\n");scanf("%s",a);len=strlen(a);for(i=len-1;i>=0;i--)printf("%c",a[i]);getch();}007(方法二)#include<stdio.h>#include<conio.h>main(){int num,t;printf("请输入一个整数:\n");scanf("%d",&num);while(num>0){t=num%10;num=num/10;printf("%d",t);}getch();}008#include<stdio.h>#include<conio.h>main(){int n;float t=1,s=0;for(n=1;t>0.0001;n+=2){t=(float)1/n; s=s+t;}printf("s=%f",s);getch();}009#include<stdio.h>#include<conio.h>main(){int n,i,s=0;printf("请输入一个整数:\n");scanf("%d",&n);for(i=1;i<=n;i++)s=s+i*i;printf("%d",s);getch();}010#include<stdio.h>#include<conio.h>main(){int s=0,i=1;while(i<=100){s=s+i;i++;}printf("%d",s);getch();}11.#include<stdio.h>main(){int i,result;i=1; result=0;while(i<=100){result=i+result;i++;}printf("1+2+...+100=%d",result); while(1);12.#include<stdio.h>main(){int i,result;for(i=1,result=0;i<=100;i++){result=i+result;}printf("1+2+...+100=%d",result);while(1);}13.。
通信原理期末试卷(2020年整理).pdf
![通信原理期末试卷(2020年整理).pdf](https://img.taocdn.com/s3/m/90bce7bd5022aaea998f0f68.png)
0
t
图2
5
天津工业大学 信息与通信工程学院
第6页 / 共16页
5.某接收机的输出噪声为10−9 W,输出信噪比为 20dB,由发射机到接收机之间总传输
损耗为 100dB。 (1) 试求用 DSB 调制时发射功率应为多少?(3 分) (2) 若改用 SSB 调制,问发射功率应为多少?(3 分)
4
天津工业大学 信息与通信工程学院
第5页 / 共16页
3.若 (t) 是平稳随机过程,其自相关函数为 R ( ) ,试求它通过如图 1 所示的系统后
+ 的自相关函数及功率谱密度。(6 分)
(t)
相减
输出
-
延时T
图1
4.如图 2 所示调制信号,试画出其 DSB 及 AM 调制信号的波形示意图,并画出它们分别 通过包络检波器后的输出波形。(6 分)
3. 噪声; KS * ()e − jt0
4. (3)(5)(4)(2)(1) 5. 1.75bit / 符号 6. 0.0004
7. 2r −1 n或2r k + r + 1
8. a b d
9. τ(或时间间隔);ξ(t)的功率谱密度
10. 载波;位;帧(或群)
二、简答题
1. 频分复用:将多路信号预先调制到不同的频率位置上,再送入同一信道传输。(1 分)
2. 已知角调波 S (t) = 5 cos[(2 104 )t + 0.5 sin( 2 100)t] ,则最大频偏
△ f =_________Hz,已调波带宽 B=____________Hz,功率为__________瓦。
3. 最佳接收理论是以接收问题作为自己的研究对象,研究从___________________中如
通信原理期末试卷
![通信原理期末试卷](https://img.taocdn.com/s3/m/e110bf4333687e21af45a966.png)
08 - 09学年第2学期 《通信原理》期末试卷(A )姓名: 学号: 专业班级:__________2分,共32分)1. 已知某八进制数字通信系统的信息速率为12000b/s ,在接收端半小时内共测得错误码元216个,则系统的误码率为___________________。
2. 随机过程的基本特征为它是__________的函数,在任意一个时刻的取值是一个_______________。
3. 某二进制数字基带传输系统,若采用升余弦滚降滤波波形且系统带宽为30kHz ,如果滤波器的滚降系数为0.5,则能够传输的最大信息速率为 _____ 。
4. 在匹配滤波器中,“匹配”指的是滤波器的__________和___________之间的匹配。
它的输出信号波形是输入信号的________________的K 倍。
5. 已知角调波]cos cos[)(0t k t A t S m ωω+=,则最大频偏△f =_________Hz ,总功率P=__________W ,已调波带宽B=____________Hz 。
6.已知(15,7)循环码的1)(4678++++=x x x x x g ,若接收到的码组为1)(514+++=x x x x R ,经过只有检错能力的译码器,接收端是否需要重发_________。
7.不论是数字的还是模拟的通信系统,只要进行相干解调都需要_______同步。
8.为了提高数字信号的有效性而采取的编码称为__________,为了提高数字通信的可靠性而采取的编码称为__________。
9.在“0”、“1”等概率出现情况下,以下哪种码能够直接提取位同步信号_________.a 、单极性不归零码b 、双极性归零码c 、单极性归零码d 、双极性不归零码 10. 在相同信噪比条件下,若采用下列调制和解调方式时,请按误码率由小到大排列顺序____________________________________________________。
2022年天津大学公共课《C语言》科目期末试卷B(有答案)
![2022年天津大学公共课《C语言》科目期末试卷B(有答案)](https://img.taocdn.com/s3/m/c5bf2139492fb4daa58da0116c175f0e7cd119ae.png)
2022年天津大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、C语言中的标识符可分为关键字、_______和_______3类。
5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。
6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
9、下面程序段的运行结果是_______。
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);10、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);二、选择题11、下列4组选项中,不是C语言关键字的选项是。
08级信息试卷
![08级信息试卷](https://img.taocdn.com/s3/m/0acdebd4d0d233d4b14e69b0.png)
天津工业大学电气工程与自动化学院2010~2011学年第1学期微机原理及接口技术期末试卷(A)班级学号姓名注意事项:1、本试卷共8 页,满分为100 分,考试时间为110 分钟。
2、答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
除特殊要求外不得使用铅笔。
1. 十六进制数D6H和39H,二进制分别表示为B和B, 将它们理解为8位机中的有符号数,对应的十进制数真值应为和,将它们相加,结果应为H,进位标志CF应为,溢出标志位OF应为。
2. 8086CPU是位机,字长应为位,寻址空间应为。
8086CPU内部有四个16位的通用寄存器,分别为、、、。
3. 8086CPU组成的微机系统中存储空间分为奇偶两个存储体,低8位数据总线与______存储体相连,高8位数据总线与______存储体相连。
且采用分段管理技术,每个段的最小空间为。
4. 8086CPU组成的微机系统上电复位后CS = ,IP = ,CPU从单元开始执行程序,若此单元存有JMP START指令,START代表的逻辑地址为12A1: 0010H,执行该指令后CS = ,IP = ,程序应从单元开始运行。
5.一个完整的中断过程包括、、、。
8086CPU采用矢量型中断,矢量地址存放在矢量表中。
若某中断的矢量表首地址为00154H,则该中断对应的中断矢量号为。
6.DAC0832是一个D/A转换器,它能将量转换量。
二. 选择题:(每题 1 分,共10 分)1. UART是的英文缩写。
(A)异步并行通信控制器(B)同步串行通信控制器(C)异步串行通信控制器(D)同步并行通信控制器2. 8086CPU中断矢量表00060H~00063H单元依次存放有11H、33H、00H和30H,则该中断服务程序的入口地址是。
(A)33311H (B)31133H (C)36110H (D)14330H3. 下列8086CPU指令中不正确的是。
(A)MOV AL, 50H (B)AND DX, [5000H](C)CMP BX, [BP] (D)ROR AL,104. 下列8086CPU寻址方式中不需要访问内存的寻址方式。
2022年天津师范大学公共课《C语言》科目期末试卷A(有答案)
![2022年天津师范大学公共课《C语言》科目期末试卷A(有答案)](https://img.taocdn.com/s3/m/f33100032379168884868762caaedd3382c4b552.png)
2022年天津师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、运算符%两侧运算量的数据类型必须都是_______;运算符++和一一的运算量必须是_______。
5、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
6、下面程序段的运行结果是_______。
chara[]="12345",*p;int s=0;for(p=a;*p!=\0';p++)s=10*s+*p-'o';printf("%d\n",s);7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;10、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津工业大学信息与通信工程学院08-09-1学期《C语言程序设计》期末试卷(A卷)学号班级姓名分。
请将正确的答案标号画上○)不正确的:A. 标识符可以用于定义变量的名称B. 标识符可以用于自定义函数的名称C. 关键字可以用于定义变量的类型D. 关键字也可以用于定义变量的名称2. C语句的基本类型有5种,除控制语句、函数调用语句、表达式语句、空语句外,还有一种是:A. 复合语句B. 赋值语句C. 输入语句D. 输出语句3. C语言表达式(int)2.52+2.49+1/2的值是:A. 5.51B. 5C. 4.99D. 4.494.已知a、b都是int型,则运行语句 scanf(”%d%d”,&a,&b);时,如何键入不能使a、b得到的值分别是2和3 ?A. 2 3<回车>B. 2 3<回车>C. 2<回车>3<回车>D. 2,3<回车>5. 已知x是int型且值为15,则C语言表达式0<x<10的值是:A. 1B. 0C. ”是”D. ”非”6. 语句 if(x>=’a’&&x<=’z’)x-=32;的功能是:A. 若x是字符’a’或是字符’z’,则将其转换为相应的大写字母B. 若x是小写英文字符,则将其转换为相应的大写字母C. 若x不是小写英文字符,则将其值自减32D. 若x不是小写英文字符,则将其值改为327. 已知i是char型,则关于语句 for(i=0;i<10;i++);的叙述中,错误的是:A. 因i不是int型,所以该循环语句的语法错误B. 循环10次C. 语句结束后,i的值是10D. 循环体是一个空语句8. 语句“printf(“%-10.3f”,3.1415926);”的运行结果是:A. 输出“-10.3”B. 输出“3.142”,占10位,左对齐C. 输出“-3.142”,占10位,右对齐D. 输出“3.142”,整数部分占10位,小数部分占3位,连同小数点一共占用14位,左对齐9. 已知a是一个char型一维数组名,且该数组内存有一个字符串,p是一个char型指针变量,则语句“p=a+strlen(a);”的作用是:A. 将指针p指向a数组的最后一个元素B. 将指针p指向a数组内的字符串的结束标记C.将指针p内存放a数组的长度D.将指针p内存放a数组内的字符串的长度10. 关于“if(表达式) 语句1 else 语句2”语句,下列叙述中,错误的是:A. 其中的“表达式”,可以是一个关系表达式或逻辑表达式,也可以是一个其他类型的表达式B. 其中的“语句1”只能是一个语句C. 其中的“语句2”只能是一个语句D. 其中的一对圆括号“( )”有时可以省略11. 关于数组定义与引用的概念、方法,下列叙述中错误的是:A. 在函数内部定义int a[N]; ,如此定义时,“N”必须是通过#define 定义过的符号常量,而不可以是变量B. int a[3]={1,2,3}; ,如此定义数组并将其初始化时,数组长度“3”可以省略C.int a[3]; ,如此定义数组a且不给其初始化时,默认a内的各元素得到的初始值均为0D.定义二维数组、且有初始化时,数组的第二维的长度(总列数)不可以省略12. 下列常用字符、字符串处理库函数中,无参函数是:A. gets()B. puts()C. getchar()D. putchar()13. 关于常量,下列叙述正确的是:A. “036”表示有效数字是3位的十进制“36”的数B. 常量“1234”被默认为int型C. 常量“1e3”与常量“1000”两种表示法,所代表的数值大小、数据类型都相同D. 常量“5”可以通过语句“5++;”变成数值614. 关于变量、变量地址、变量访问、间接访问的概念,下列叙述错误的是:A. 已知a是int型变量,则C程序中“a”表示变量a中存储的值,“&a”表示变量a的存储地址B. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的值,“&a”表示指针变量a的存储地址C. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的地址,“&a”表示指针变量a自身的存储地址D. 已知a是int型指针变量,则C程序中“*a”表示指针变量a中存储的地址中所存储的值15. 假设有如下定义:struct a{int x;float y;}b,c[10],*d;则有关结构体的类型定义、变量定义、数组定义、访问的基本概念,下列叙述错误的是:A. “a”是结构体类型名B. “b”是结构体变量名C. 数组c内可以同时存放10个int型数值和10个float型数值D.执行语句“d=c;”后,“d->y”与“c[0].y”不等价30分)1. 下一程序运行时将输出 ________________________ 。
main(){ int a=1; a++; ++a; --a; printf("%d",a); getch(); } 2. 下一程序运行时将输出 _____________ 。
int f(int x){ return x%x; }main(){ int x=5; printf("%d",f(x)); getch(); }3. 下一程序运行时将输出 _____________ 。
int f(int x){ if(x==1) printf("%2d",x);else { f(x-1);printf("%2d",x%10); }}main(){ int x=5; f(x); getch(); }4. 下一程序运行时若键入字符串ABCDEFGH,则程序输出 _ _ _ 。
void f(char a[]){ char b[100]; int i,j,k;k=strlen(a);for(i=j=0;i<k; i+=2,j++) b[j]=a[i];b[j]='\0';strcpy(a,b);}main(){ char c[100]; gets(c); f(c); puts(c); getch(); } 5. 下一程序运行时将输出 _____________ 。
void f(int *p,int *q){ *q=*p**p; }main(){ int a=3,b; f(&a,&b); printf("%d",b); getch(); }6. 下一函数f的功能是 _____________________________________。
double f(double x,int n){double m; int i;for(m=1,i=1;i<=n;i++)m*=10; /*求m等于10的n次方*/return ((unsigned long)(x*m+0.5))/m;}7. 假设N是一个代表正整数的符号常量,问下一函数f的功能是_____________________________________。
double f(double x[N][N]){double sum=0; int i;for(i=0;i<N;i++) sum+=x[i][i];return sum/N;}8. 下面是一个完整的定积分程序,它计算并输出函数________在区间________上的积分,所使用的算法名称为________。
#include<math.h>#define N 1000double f(double x) { return sin(x); }double f2(double a,double b){int i;double d,sum;d=(b-a)/N;sum=(f(a)+f(b))/2.0;for(i=1;i<N;i++) sum+=f(a+i*d);return sum*d;}main(){ printf("%f\n",f2(0.0,3.14159/2)); getch(); }分。
)1、已知判断闰年、平年的方法是:凡是年份能被400整除的都是闰年;凡是年份能被4整除且不能被100整除的也都是闰年;除此以外的年份都是平年。
现有一NS图表示的算法,其功能是输入一个年份,若是闰年则输出”Yes”,否则输出”No”,可惜有错。
请将这个算法图修改正确。
(注意1、不考虑算法质量高低,只考虑对错;2、不得修改线条;3、最好只改动1或2个字符。
)2. 下面的MIMA宏定义及mima函数试图在程序运行时让用户输入一个字符串,若字符串为“12345”(不含双引号)则验证通过,否则禁止使用程序,用户有三次输入密码的机会。
但程序有一个运算符错误,请将其修改正确。
#define MIMA "12345"void mima(void){char c[100];int i,a=1;for(i=1;i<=3;i++){printf("第%d次输入密码(共有3次机会):",i);gets(c);a=strcmp(c,MIMA); /*字符串比较,相同则值为0否则值不为0*/if(a==0)break;}if(a=0)return;else{printf("3次输入密码皆错,按任一键退出本系统...");getch();exit(1); /*退出运行程序*/}}3. 程序如下:#define Z(x,y) (y+x)/(y-x)main( ){int a,b;a=3;b=10;printf("%d\n",Z(a+2,b));getch();}该程序原意是输出(10与(3+2的和)之和)除以(10与(3+2的和)之差)所得的商即3。
但目前程序输出错误结果1,因为宏定义行存在着逻辑错误。
请修改宏定义行使程序符合原意。
分)下面的程序是一个“图书数据库管理系统”的部分模块:#include<stdio.h>#define N 100typedef struct /*图书结构体定义模块*/{char shuming[80]; /*书名*/int chubannian; /*出版年*/int banben; /*版本*/float danjia; /*单价*/}TUSHU;int shuru(TUSHU a[]) /*输入模块*/{int i; float x;TUSHU *p;for(p=a,i=0;i<N;i++,p++){printf("Shuru shuming (-1:end) :");gets(p->shuming);if(strcmp(p->shuming,"-1")==0)break;printf("Shuru chuban nian :");scanf("%d",&p->chubannian);printf("Shuru banben :");scanf("%d",&p->banben);printf("Shuru danjia :");scanf("%f",&x);p->danjia=x;getchar();}return i;}void save(TUSHU a[],int n) /*存盘模块*/{FILE *fp;int i;fp=fopen("tushu.dat","wb");for(i=0;i<n;i++) fwrite(a+i,sizeof(TUSHU),1,fp); fclose(fp);}main() /*主控模块*/{TUSHU a[N];int n;n=shuru(a);save(a,n);getch();}请阅读理解上述程序,回答下面的问题:1、本程序一次运行时最多可以管理多少本书?2、输入模块(函数shuru)的返回值有何意义?3、图书的数据库将保存在哪个文件中?20分)为void f(int a[],int n),要求能对数组a内n个元素排序。