人人范文网 范文大全

北航C语言期末模拟试题

发布时间:2020-03-03 10:34:28 来源:范文大全 收藏本文 下载本文 手机版

单选题

下列关于单目运算符++、--的叙述中正确的是(D)。

A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量 B、它们的运算对象可以是任何变量和常量

C、它们的运算对象可以是char型变量和int型变量,但不能是float型变量 D、它们的运算对象可以是char型变量、int型变量和float型变量

执行下列程序后,其输出结果是(D)。 main() {int a=9; a+=a-=a+a; printf(\"%d\\n\",a); } A、18 B、-9 C、9 D、-18 详解:

优先级:a+=(a-=(a+a)) 1a+a:18

○2a-=18:此时a=-9;注意,a已经不是9,而是-9了

○3a+=-9:即a=a+(-9)=(-9)+(-9)=-18 ○

打印语句printf(\"sTUDEND\\bT\\rS\");在屏幕上正确的输出形式是(C).A、sTUDENDS B、TUDENTS C、STUDENT D、sTUDENTS 详解:

知识点:\\b表示退格;

\\r表示回车,即将当前位置一道“本行”开头 ○1sTUDEND ○2 sTUDENT ○3 STUDENT

已知键盘输入a=4,b=3,下面程序输出的结果是(C).main() { int a,b,s; scanf(\"%d%d\",&a,&b); s=a; if(a

若给定条件表达式(m)?(a++):(a--),则其中表达式m(B)。

A、和(m==0)等价 B、和(m!=0)等价 C、和(m==1)等价 D、和(m!=1)等价 注意:

此处不能选C,因为“非零的数即表示真”。如当m=2时,值为真,结果是a++;但是若选C,则结果为a--.

执行语句 for(i=1;i++

A、3 B、5 C、4 D、不定

以下描述中正确的是(C)。

A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B、do-while 循环中,根据情况可以省略 while C、在 do-while 循环体中,必须有能使循环退出的操作。

D、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号

int a[10];合法的数组元素的最小下标值为(D)。

A、10 B、9 C、1 D、0 题意是a[]的括号内最小数可以是多少,而不是说定义的时候int a[]的括号里最小的数是多少。注意看清题目意思。

以下正确的函数定义是(C).A、double fun(int x, int y) { z=x+y; return z;} B、fun(x, y) { int x, y; double z; z=x/y; return z;} C、float f(int x, int y) {float z; z=x/y; return z;} D、fun(int x, y) { int z; return z; }

char a1[]=\"abc\",a2[80]=\"1234\";将a1串连接到a2串后面的语句是(A)。

A、strcat(a2,a1); B、strcat(a1,a2); C、strcpy(a1,a2); D、strcpy(a2,a1);

若有 char s1[]=\"abc\",s2[20],*t=s2;gets(t); 则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是(C)。

A、if(strcmp(s2,s1)>0)puts(s2); B、if(strcmp(s2,t)>0)puts(s2); C、if(strcmp(s1,t)>0)puts(s2); D、if(strcmp(s1,s1)>0)puts(s2); strcmp() 括号里可以是字符串本身,也可以是字符串的地址(首地址)

已知有宏定义#define SQR(a) 2*a*a,则SQR(3+4)的值为(A).A、22 B、32 C、98 D、18

若有说明:int *p,m=5,n;以下正确的程序段是(D)。

A、scanf(\"%d\",&n);*p=n; B、p=&n;scanf(\"%d\",*p) C、p=&n;scanf(\"%d\",&p); D、p=&n;scanf(\"%d\",p); 注意指针必须先初始化才能进行运算 char h,*s=&h;可将字符H通过指针存入变量h中的语句是(A)。

A、*s=\'H\'; B、s=\'H\' C、*s=H; D、s=H;

定义结构体的关键字是(A)。

A、struct B、typedef C、enum D、union

判断题

若 a=3,b=2,c=1 则关系表达式\"(a>b)==c\" 的值为\"真\"。T a=(b=4)+(c=6) 是一个合法的赋值表达式。T C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.F 格式字符%e以指数形式输出实数数字部分小数位数7位.F 设g=1,h=2,k=3,则逻辑表达式k+g||!h&&k-h的值为0。F 求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max.T 语句if(a>b) printf(\"%d\",a); else printf(\"%d\",b);可以用条件表达式a>b?a:b取代.F break语句能够终止当前进行的多层循环.F for循环的三个表达式都可以省略.T for语句的循环体至少执行一次.F(do …… while 才是) 字符串\"Da lian\"在内存中的存储长度是7.F(因为自动加\\0) 定义 int x[5],n;则x=x+n;或x++;都是正确的.F 若有定义 int a[10];则 for (i=0;i

填空题

若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量c中的值是 _____ .c=(a-=(b-5)); c=(a%11)+(b=3); 9

下列语句输出的结果是_____,int a=-1;printf(\"%x\",a);(在vc环境下) ffffffff(8个f,因为是4字节)

设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为_____.1

以下程序段要求从键盘输入字符,当输入字母为\'Y\' 时,执行循环体,则下划线处应填写_____.ch=getchar(); while(ch ____ \'Y\') ch=getchar(); ==

static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为_____.6

静态变量和外部变量的初始化是在_____阶段完成的,而自动变量的赋初值是 在_____时进行的.(编译),(运行/函数调用/调用)1752

将函数func的入口地址赋给指针变量p的语句是_____.p=func;

设有以下结构类型说明和变量定义,则变量b在内存所占字节数是 _____。 21 struct stud { short int age; char num[3]; float s[2]; double ave; } b,*p;

程序设计题

/*----------------- 【程序设计】1685 -------------------

功能:能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。

-----------------*/

#include \"stdio.h\"

int fun(int n) { /*********Begin**********/

int sum=0,i; for(i=1;i

/********** End **********/ }

main() { int m; void TestFunc(); printf(\"Enter m: \"); scanf(\"%d\", &m); printf(\"\\nThe result is %d\\n\", fun(m)); TestFunc(); }

void TestFunc() { FILE *IN,*OUT; int t; int o; int c; IN=fopen(\"in.dat\",\"r\"); if(IN==NULL) { printf(\"Read File Error\"); } OUT=fopen(\"out.dat\",\"w\"); if(OUT==NULL) { printf(\"Write File Error\"); } for(c=1;c

/*----------------- 【程序设计】1599 -------------------

功能:调用函数fun判断一个三位数是否\"水仙花数\"。

在main函数中从键盘输入一个三位数,并输

出判断结果。请编写fun函数。

说明:所谓\"水仙花数\"是指一3位数,其各位数字立方和

等于该数本身。

例如:153是一个水仙花数,因为153=1+125+27。

-----------------*/

#include \"stdio.h\"

int fun(int n) {

/*********Begin**********/

int bw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0;

/********** End **********/

}

TestFunc() { FILE *IN,*OUT; int iIN,i; int iOUT; IN=fopen(\"in.dat\",\"r\"); if(IN==NULL) { printf(\"Please Verify The Currernt Dir..It May Be Changed\"); } OUT=fopen(\"out.dat\",\"w\"); if(OUT==NULL) { printf(\"Please Verify The Current Dir..It May Be Changed\"); } for(i=0;i

程序改错题

/*----------------------- 【程序改错】1246 -------------------------

功能:有一数组内放10个整数,要求找出最小数和它的下标,然后

把它和数组中最前面的元素即第一个数对换位置.

-----------------------*/ #include \"stdio.h\" main( ) { int i,a[10],min,k=0; printf(\"\\n please input array 10 elements\\n\"); for(i=0;i

/***********ERROR***********/ if(a[i]>min) // if(a[i]

/*----------------------- 【程序改错】1906 -------------------------

功能:以下程序把两个数按由大到小的顺序输出来.

-----------------------*/ #include \"stdio.h\" /***********ERROR***********/ void swap( int *p1,*p2) //swap( int *p1,int *p2) void swap( int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; }

main( ) { int a,b, *p,*q; printf(\"input a,b:\"); /***********ERROR***********/ scanf(\"%d%d\",a,b); //scanf(\"%d%d\",&a,&b); p=&a; q=&b; if(a

程序填空题

/*------------------------ 【程序填空】1324 --------------------------

题目:本程序的功能是输入一段数字后,将输出的数字颠倒输出。

请填空。

------------------------*/

#include \"stdio.h\" main() { int numb,rdigit; scanf(\"%d\",&numb); /***********FILL***********/ while(_____) // numb!=0 numb { rdigit=numb%10; /***********FILL***********/ printf(\"%d\",_____); // rdigit numb/=10; } printf(\"\\n\"); }

/*------------------------ 【程序填空】1573 --------------------------

题目:本程序用printf函数输出字符串\"I am student\",完善程序。

------------------------*/ #include \"stdio.h\" main() { int i; char *s1=\"I am student\"; /***********FILL***********/ for(i=0;s1[i]!=____;i++) // \'\\0\' /***********FILL***********/ printf(\"_____\", s1[i]); //%c }

c语言期末复习试题

c语言大一期末试题

GPS模拟C语言

c语言期末复习

C语言期末总结

C语言程序设计模拟试题三(含答案)

c语言试题 判断题

C语言基础试题

学前儿童语言教育期末模拟试题

C语言模拟ATM机

北航C语言期末模拟试题
《北航C语言期末模拟试题.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档