C语言程序设计练习题A
《C语言程序设计》练习题及答案
![《C语言程序设计》练习题及答案](https://img.taocdn.com/s3/m/e351c81432687e21af45b307e87101f69e31fb20.png)
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
C语言程序设计试题A
![C语言程序设计试题A](https://img.taocdn.com/s3/m/7e61202b360cba1aa911da0a.png)
四川职业技术学院2005—2006学年第 1 学期期末考试《C 语言程序设计》 (A )(供04电气、04机电班使用)考试时间:120分钟 满分:100分 命题人:陈 科…………………………………………………………………………………………一、单项选择题,答案不写入答题栏的一律不得分!(每题1.5分,共52.5分)1、结构化程序设计的3种结构是 。
A)顺序结构、选择结构、转移结构 B )分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D )顺序结构、选择结构、循环结构2、以下叙述中正确的是 。
A )C 语言比其他语言高级B)C 语言可以不用编译就能被计算机识别执行C )C 语言以接近英语国家的自然语言和数学语言作为语言的表达 形式D )C 语言出现的最晚,具有其他语言的一切优点 3、C 语言中最简单的数据类型包括 。
A )整型、实型、逻辑型B )整型、实型、字符型C )整型、字符型、逻辑型D )字符型、实型、逻辑型 4、若变量已正确定义并赋值,以下符合C 语言语法的表达式是 。
A)a:=b+1 B )a=b=c+2 C )int 18.5%3 D)a=a+7=c+b5、若变量a ,i 已正确定义,且i 已正确赋值,合法的语句是 。
A )a= =1B )++i ;C )a=a++=5;D )a=int (i ); 6、已知: int t=0;while(t=1){。
.}则以下叙述正确的是 。
A )循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对7、若变量已正确说明为float 型,要通过语句scanf ("%f %f%f ",&a ,&b ,&c );给a 赋予10.0,b 赋予22.0,c 赋予33.0,下列不正确的输入形式是 .A)10〈回车〉22<回车〉33<回车> B )10。
0,22.0,33.0〈回车> C )10。
c语言程序设计期末试题A(含答案)
![c语言程序设计期末试题A(含答案)](https://img.taocdn.com/s3/m/d11f2e4f5bcfa1c7aa00b52acfc789eb172d9ed3.png)
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。
d。
2int。
a=0.double。
b=1.25.char c=’A’;则下面语句中错误的是()。
A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。
int w。
long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。
A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa)。
C) scanf(“%d”,&pa)。
B) scanf(“%d”,a)。
D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。
《C语言程序设计基础》--试卷A及参考答案
![《C语言程序设计基础》--试卷A及参考答案](https://img.taocdn.com/s3/m/f5ff5359763231126edb1187.png)
《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
c语言程序设计试卷及答案(A)
![c语言程序设计试卷及答案(A)](https://img.taocdn.com/s3/m/8f1717f4c9d376eeaeaad1f34693daef5ef7137d.png)
《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。
答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。
A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。
A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。
A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。
int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。
A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。
A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。
int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。
int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。
A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。
C语言程序设计A模拟考核试题及解答
![C语言程序设计A模拟考核试题及解答](https://img.taocdn.com/s3/m/4a51644ffd0a79563d1e7282.png)
C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。
A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。
A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。
A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。
A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。
A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。
A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。
最新c语言第五章选择结构程序设计(习题册答案)
![最新c语言第五章选择结构程序设计(习题册答案)](https://img.taocdn.com/s3/m/bd5cabfc80c758f5f61fb7360b4c2e3f572725ce.png)
最新c语⾔第五章选择结构程序设计(习题册答案)第五章选择结构程序设计基础练习(A)⼀、填空题1、关系表达式的运算结果是逻辑值。
C语⾔没有逻辑型数据,以1代表“真”,以0代表“假”。
2、逻辑运算符!是单⽬运算符,其结合性是由右结合性。
3、C语⾔提供的三种逻辑运算符是&&、|| 、!。
其中优先级最⾼的为!,优先级最低的为| | 。
4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和⾮0的整数,也可以是任何类型的数据。
系统最终以0 和⾮0 来判定它们属于“真”或“假”。
5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。
6、设x,y,z均为int型变量,请写出描述“x或y中有⼀个⼩于z”的表达式x7、条件“22&&x<3。
8、判断char型变量ch是否为⼤写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。
9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。
10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。
11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。
12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。
13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。
14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。
!(x>y)+(y!=z)||(x+y)&&(y-z)15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。
!(x=a)&&(y=b)&&016、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。
《c语言程序设计》试题库及答案
![《c语言程序设计》试题库及答案](https://img.taocdn.com/s3/m/38120d28e55c3b3567ec102de2bd960590c6d9b1.png)
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
C语言程序设计期末考试卷A答案
![C语言程序设计期末考试卷A答案](https://img.taocdn.com/s3/m/59d0402fa4e9856a561252d380eb6294dd8822a6.png)
C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。
2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。
3、有如下程序chara[]=\的值为____6_____。
4、函数直接或间接的调用自己成为函数的________递归调用__________。
5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。
6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。
7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。
8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。
tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。
10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。
二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。
voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。
c语言程序设计模拟试题ABC
![c语言程序设计模拟试题ABC](https://img.taocdn.com/s3/m/6ed4f41f4431b90d6c85c7d8.png)
char *s, *s1 =“here is”, *s2 =“key”;
s = s1;
while (*s1!=’\0’) s1++;
while (*s1++=*s2++);
s2 = s;
while (*s2!=’\0’) s2++
printf(“%d\n”, s2-s);
}
2、#include <STDIO.H>
printf("%d",j);
}
}
4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。
voidexchange(int *x, int *y)
{
int t;
t=*y;
*y=;
*x=;
}
三、阅读程序,写出程序的输出结果(24分)
1、#include <stdio.h>
void main(void)
c语言程序设计模拟试题B
专业班级学号姓名
题号
一
二
三
四
五
六
七
八
总分
得分
五、单选题(15分)
1、以下程序的输出结果是()。
#include <stdio.h>
void main(void)
{ int a = 5, b = 4, c = 6, d;
printf(“%d\n”, d=a>b?(a>c?a: c): b);
c语言程序设计模拟试题A
专业班级学号姓名
题号
一
二
三
四
五
六
七
八
总分
吉林大学网络教育C语言程序设计练习题A期末考试复习题
![吉林大学网络教育C语言程序设计练习题A期末考试复习题](https://img.taocdn.com/s3/m/b427d8c979563c1ec4da715a.png)
选择题1.以下不正确的C语言标识符是( )。
A.ABC B.abc C.a_bc D .ab.c2.以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q3.下面四个选项中,均是合法整形常量的选项是( ).A.160B.-0xcdfC.-01D.-0x48a-0xffff 01a 986,012 2e5011 0xe0668 0x4. 若有代数式3ae/bc,则不正确的C语言表达式是( )A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*35.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A.2.500000B.2.750000C.3.500000D.0.0000006. 设int n=3;则n十十的结果是( )。
A.2B.3C.4D.57. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( ).A. scanf(“%d%d1x,%1e”,&x,&y,&z);B. scanf(“%2d*%d%1f”,&x,&y,&z);C. scanf(“%x%*d%o”,&x,&Y);D. scanf(“%x%o%6.2f”, &x,&y,&z);8. 以下程序的执行结果是( )。
#include<stdio.h>main(){int sum,pad;sum=pad=5;pad=sum++;pad++;++pad;printf("%d\n",pad);}A.7B.6C.5D.49. 为了避免嵌套的if-else语句的二义性,c语言规定else总是与( )组成配对关系。
A.缩排位置相同的ifB.在其之前末配对的ifC.在其之前未配对的最近的ifD.同一行上的if10. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( ).A.’x’&&’y’B.x<=yC. x||y+z&&y-zD.!((x<y=&&!z ||1=11. 以下不正确的if语句形式是( ).A.if(x>y&&x!=y);B.if(x==y)x十=y;C.if(x ! =y)scanf(“%d”,&x) e1se scanf(”%d,&y);D.if(x<y={x++;y++;}12. 阅读以下程序main(){int a=5,b=0,c=0;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}以上程序 ( ).A.语法有错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$13. 执行以下程序段后,变量a,b,c得值分别是( ).int x=10,y=9;int a,b,c;a=(--x==y++)? –x: ++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=1014. 语句while(!e);中的条件!e等价于( )。
c语言程序设计模拟试题A
![c语言程序设计模拟试题A](https://img.taocdn.com/s3/m/b2d09302de80d4d8d15a4f85.png)
c语言程序设计模拟试题A专业班级学号姓名一、单选题(15分)1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为()。
A) 1.4 B) 1 C) 2.0 D) 22 、以下程序中,while 循环的次数是()。
#include <stdio.h>void main(void){ int i = 0;while (i<10) {if (i<1) continue;if (i==5) break;i++;}}A) 1 B) 死循环,不能确定次数C) 6 D) 103、以下程序的输出结果是()。
#include <stdio.h>void main(void){ int a = 0, i;for (i=1; i<5; i++)v {switch (i) {case 0:case 3: a += 2;case 1:case 2: a += 3;default: a += 5;}}printf(“%d\n”, d);}A) 31 B) 13 C) 10 D) 204、执行以下程序段后的输出结果是()。
int x = 5;int m, n;n = (++x) + (++x);m = (x--) + (x--);printf(“%d %d\n”, m, n);A) 14 10 B) 13 13 C) 14 14 D) 14 125、执行以下程序后的输出结果是()#include <stdio.h>void main(void){int i = 0, j = 0, a = 6;if ((++i>0)||(++j>0)) a ++;printf(“i=%d, j=%d, a=%d\n”, i, j, a);}A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=76、执行以下程序后的输出结果是()#include <stdio.h>void main(void){char a[]=”abc\0abc”;printf(“%s”, a);}A) abc\0abc B) abc\ C) abc\0 D) abc7、以下程序的输出结果是()#include <stdio.h>void main(void){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 38、执行以下程序后,a的值为()。
c语言程序设计期末考试试卷(A)
![c语言程序设计期末考试试卷(A)](https://img.taocdn.com/s3/m/c470b20116fc700abb68fc4b.png)
4、表达式18/4*sqrt(4.0)/8值的数据类型为。
A)、int B)、float C)、double D)、不确定
5、若有以下定义,则能使值为3的表达式是D。
Int k=7,X=12;
A、X%=(k%=5)B、X%=(k-k%5)
C、X%=k-k%5 D、(X%=k)-(k%=5)
t=((t=(a<b)?a:b)<c)? t:c;
s=a+b+c-u-t; a=u;
b=s; c=t; return s;
}
运行时输入: 5 –7 3,输出结果:
4、#include <stdio.h>
#include<stdlib.h>
#defineNEW(struct info *)malloc(sizeof(struct info))
三、程序阅读题(每题5分共30分)
1.#include <stdio.h>
void main( )
{ int k=0;
char c='A';
do {
switch (c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; break;
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'a'和'A'的地址
春秋华师《C语言程序设计A》在线作业
![春秋华师《C语言程序设计A》在线作业](https://img.taocdn.com/s3/m/2c52103f15791711cc7931b765ce050876327538.png)
春秋华师《C语言程序设计A》在线作业华师《C语言程序设计A》在线作业一、单选题(共20 道试题,共40 分.)1. 一个C程序地执行是从A. 本程序地main函数开始,到main函数结束B. 本程序文件地第一个函数开始,到本程序文件地最后一个函数结束C. 本程序地main函数开始,到本程序文件地最后一个函数结束D. 本程序文件地第一个函数开始,到本程序main函数结束正确答案:2. 在一个被调用函数中,关于return语句使用地描述,错误地是().A. 被调用函数中可以不用return语句B. 被调用函数中可以使用多个return语句C. 被调用函数中,如果有返回值,就一定要有return语句D. 被调用函数中,一个return语句可以返回多个值给调用函数正确答案:3. 以下不能对二维数组a进行正确初始化地语句是A. int a[2][3]={0};B. int a[][3]={{1,2},{0}};C. int a[2][3]={{1,2},{3,4},{5,6}};D. int a[][3]={1,2,3,4,5,6};正确答案:4. 下面有关for循环地正确描述是A. for循环只能用于循环次数已经确定地情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环地循环体语句中,可以包含多条语句,但必须用花括号括起来正确答案:5. 在下列运算符中,()优先级最低.A. !B. &&C. !=D. ?:正确答案:6. C语言中,长整型long数据在内存中地存储形式是().A. ASCIIB. 原码C. 反码D. 补码正确答案:7. 在C语言中,引用数组元素时,其数组下标地数据类型允许是A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型地表达式正确答案:8. 判断char型变量ch是否为大写字母地正确表达式是A. ‘A’<=ch<=‘Z’B. (ch>=‘A’)&(ch<=‘Z’)C. (ch>=‘A’)&&(ch<=‘Z’)D. (‘A’<=ch)AND(‘Z’>=ch)正确答案:9. 将两个字符串连接起来组成一个字符串时,选用()函数.A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )正确答案:10. 下面四个选项中,均是合法转义字符地选项是A. ‘\’’ ‘\\’ ‘\n’B. ‘\’ ‘\017’ ‘\”’C. \018’ ‘\f’ ‘xab’D. \\0’ ‘\101’ ‘x1f’正确答案:11. 若有说明:int a[3][4];则对a数组元素地正确引用是A. a[2][4]B. a[1,3]C. a[1+1][0]D. a(2)(1)正确答案:12. 对以下说明语句地正确理解是______. int a[10]={6,7,8,9,10};A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值地个数不相同,所以此语句不正确正确答案:13. 若有说明:int a[][4]={0,0};则下面不正确地叙述是A. 数组a地每个元素都可得到初值0B. 二维数组a地第一维大小为1C. 因为二维数组a中第二维大小地值除以初值个数地商为1,故数组a地行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0正确答案:14. C语言中地标识符只能由字母、数字和下划线三种字符组成,且第一个字符A. 必须为字母B. 必须为下划线C. 必须为字母或下划线D. 可以是字母、数字和下划线中任一种字符正确答案:15. 逻辑运算符两侧运算对象地数据类型A. 只能是0或1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型地数据正确答案:16. 以下不正确地C语言标识符是().A. AB1B. _ab3C. 4abD. a2_b正确答案:17. 若有说明:int a[3][4];则对a数组元素地非法引用是A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]正确答案:18. 在C语言中(以16位PC机为例),5种基本数据类型地存储空间长度地排列顺序为A. char<int<="float<double</p">B. char=int<="float<double</p">C. char<intD. char=int=long int<=float<double< p="">正确答案:19. 对for(表达式1;;表达式3)可理解为A. for(表达式1;0;表达式3)B. for(表达式1;1;表达式3)C. for(表达式1; 表达式1;表达式3)D. for(表达式1; 表达式3;表达式3)正确答案:20. 在下列表达式选项中,()是正确地.A. a++++bB. +a++C. a++bD. a+++b正确答案:华师《C语言程序设计A》在线作业二、多选题(共15 道试题,共30 分.)1. 表示一个算法地方式包括哪些?A. 用自然语言表示B. 用流程图表示C. 用N-S流程图表示D. 用伪代码表示正确答案:2. 关于switch语句叙述正确地是A. 语句中,case地冒号后面允许没有语句.B. switch语句中,每一个case地冒号后面都允许跟有多条语句.C. 在与switch语句配套地case语句中所使用地表达式可以是变量或常量.D. switch语句中,可以没有default语句.正确答案:3. 若a为整型变量,则下列表达式地值为0地是A. a%aB. a!=aC. 3/4D. 3&&0正确答案:4. 下列描述正确地是:A. getchar函数只能接收一个字符B. getchar函数得到地字符可以赋给一个字符变量C. getchar函数得到地字符可以赋给一个整型变量D. getchar函数得到地字符可以作为表达式地一部分正确答案:5. 哪些运算符属于逻辑运算符?A. &&B. ||C. !D. ^正确答案:6. 以下哪些函数可以实现字符地输出?A. putchar函数B. getchar函数C. printf函数D. scanf函数正确答案:7. 函数调用strcat(strcpy(str1,str2),str3)地功能,以下说法错误地有:A. 将串str1复制到串str2中后在连接到串str3之后;B. 将串str1连接到串str2之后再复制到串str3之后;C. 将串str2复制到串str1中后再将串str3连接到串str1之后;D. 将串str2连接到串str1中后再将串str1复制到串str3中正确答案:8. 以下哪些属于C语言地运算符?A. 算术运算符B. 关系运算符C. 逻辑运算符D. 位运算符正确答案:9. 哪些运算符属于关系运算符?A. <B. <=C. >=D. %正确答案:10. 下列函数中,能够输出字符数据地函数有A. puts( )B. printf( )C. scanf( )D. putchar( )正确答案:11. 假设float x,y,z;,并通过scanf("%f%f%f ",&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0地值,下面正确地输入形式是(注:符号【代表空格):A. 10<回车>22<回车> 33<回车>B. 10.0<回车>22.0<回车>33.0<回车>C. 10.0,22.0,33.0<回车>D. 10.0【22.0【33.0<回车>正确答案:12. 以下正确地说法有A. C语言程序地基本组成单位是函数;B. 函数必须要有返回值;C. 一个函数地类型为void,在定义时,可以省略void;D. 函数声明是一条C语句正确答案:13. 下面属于转义符地有:A. ‘\t ’B. ‘\n’C. ‘%d’D. ‘\376’正确答案:14. 以下关于函数地叙述正确地有A. 一个C语言程序有且仅有一个main函数;B. C语言程序中,main函数是没有参数地;C. 一个函数通过其他函数间接地调用了自身,这种情况也是一种递归调用;D. main函数是由系统调用地正确答案:15. 若有char ch;,下面可以对变量c正确赋值地语句是:A. ch =‘A’;B. getchar(ch);C. ch = getchar();D. scanf(“%c”,&ch);正确答案:华师《C语言程序设计A》在线作业三、判断题(共15 道试题,共30 分.)1. 若有定义:int a[5],*p;,则操作p=a;是合法地操作.A. 错误B. 正确正确答案:2. 在一个函数定义中,只能有一个return语句.A. 错误B. 正确正确答案:3. C语言中,任意两个函数间不能嵌套定义,但可以互相调用.A. 错误B. 正确4. 若a=1,b=2,c=3,则执行表达式(a>b)&& (c++)后,c 地值为4.A. 错误B. 正确正确答案:5. 如果指针占用地内存大小为2Byte,那么指向它地二重指针占用内存大小为4Byte.A. 错误B. 正确正确答案:6. 变量分为全局和局部两种,自动局部变量没有赋初值时,其值是不确定地.A. 错误B. 正确正确答案:7. 一个C程序无论有多少个源程序文件组成,在其中一个源程序文件中定义地全局变量地作用域默认为整个C程序.A. 错误B. 正确正确答案:8. C语言与其他高级语言一样,对于所有地同级运算符均遵循左结合原则.A. 错误B. 正确正确答案:9. 整型变量m地值为27,语句printf("m=%x",m);地输出结果为m=1b.A. 错误B. 正确10. 未初始化地int类型数组,其各元素地值全是0.A. 错误B. 正确正确答案:11. 实际上,可以用顺序、分支、循环三种结构构造任何算法.A. 错误B. 正确正确答案:12. 若有定义:int a[5][5],(*p)[5];,则操作p=*a;是合法操作.A. 错误B. 正确正确答案:13. 定义一个具有10个元素地整型数组,应当使用语句int a[10]; .A. 错误B. 正确正确答案:14. 在C程序中,函数调用可以作为函数地形参.A. 错误B. 正确正确答案:15. 当主程序执行完毕时,亦即程序执行完毕.A. 错误B. 正确正确答案:版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.文档来源网络及个人整理,勿用作商业用途用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.文档来源网络及个人整理,勿用作商业用途Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.文档来源网络及个人整理,勿用作商业用途转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.文档来源网络及个人整理,勿用作商业用途Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.文档来源网络及个人整理,勿用作商业用途</double<></int</int。
样卷A《C语言程序设计》
![样卷A《C语言程序设计》](https://img.taocdn.com/s3/m/72a67bcae2bd960591c67734.png)
C语言程序设计样卷A一、单选题(每小题2分,共40分)1.下面程序的输出是(B)。
main( ){ int x = 023;printf( "%d\n",--x);}A.17B.18C.23D.242.在C语言中,设int型变量占2个字节,则不正确的int类型常数是(A)。
A.62768B.12C.037D.0xa3.当a=1,b=2,c=3时,执行以下语句后a,b,c的值分别是(D )。
if(a>c)b=a;a=c;c=b;A.3,2,1B.1,2,3C.3,1,1D.3,2,24.以下叙述中正确的是(B)。
A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套5.以下叙述中不正确的是(B)。
A.在函数中,通过return语句获得返回值B.在函数中,如果没有return语句则不带回返回值C.在函数中,可以有多条return语句D.在C中,调用函数不必在一条独立的语句中完成6.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(C)。
A.p+1B.a+1C.a++D.++p7.下面程序的输出是( A )。
main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A.3B.4C.1D.28.执行下面程序中的输出语句后,a的值是(C)。
main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.109.下面程序的输出是(C)。
main ( ){ int a = - 1, b = 4, k;k = (a++ <=0)&&(! (b-- <= 0));printf("%d %d %d \n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 210.以下程序的输出结果是(A)。
C语言程序设计A卷(答案)
![C语言程序设计A卷(答案)](https://img.taocdn.com/s3/m/dc9b6f13866fb84ae45c8df6.png)
贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。
4.满分100分,考试时间为120分钟。
一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。
A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。
A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。
A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。
A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。
A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。
A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。
A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。
A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。
C语言程序设计考试卷A卷
![C语言程序设计考试卷A卷](https://img.taocdn.com/s3/m/c0c2b40858fb770bf78a55bd.png)
《C 语言程序设计》第 1 页 共 5 页 C 语言程序设计考试卷A 卷 复查人 一、单项选择题(每题2分,共50分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的下划线“ ”上。
1.以下合法的用户标识符是 A )Aa B )#define C )3a D )for 2.以下选项中,可以作为C 语言合法常量的 A) -78. B) -078 C) -7e8.0 D) -7.8e 3.在C 语言中,字符型数据在内存中存放的形式为 A)BCD 码 B)原码 C)补码 D)ASCII 码 4.以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 5.C 语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 6.若变量已正确定义并赋值,符合C 语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 7.以下说法不正确的是 A)C 程序中必须有一个main()函数,C 程序是从mian()函数的第1条语句开始执行的 B)非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的 C)C 程序中的main()函数必须放在程序的开始位置 D)C 程序中的main()函数位置可以任意指定 8.TURBO C 中int 类型变量所占字节数是是 A)1 B)2 C)3 D)4 9.不合法的八进制是 A)0 B)028 C)077 D)01 10.下面程序的输出结果是 A)0 B)1 C)3 D)不确定的值 main() { int x=10,y=3; printf(“%d\n ”,y=x/y); } 11.下面程序的输出结果是 A) 0 B) 1 C)2 D)3 main() { int w=4,x=3,y=2,z=1; printf("%d\n",(w<x?w:z<y?z:x)); } 12.以下程序的输出结果是 A)11 B)20 C)21 D)31 func(int a,int b) { int c; c=a+b; return c; } main() { int x=6,y7,z=8,r; r=func(x--,y++,x+y),z--); printf("%d\n",r); } 13.以下程序的输出结果是 A)3 B)4 C)5 D)6 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) {a+=5;continue;} a-=3; } printf("%d\n",b); }专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………。
C语言程序设计期末试题A及答案
![C语言程序设计期末试题A及答案](https://img.taocdn.com/s3/m/57a121277dd184254b35eefdc8d376eeaeaa178e.png)
C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。
#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计练习题A一、单项选择题1.以下不能定义为用户标识符是()A) Main B) _0 C) _int D) sizeof2.以下叙述中正确的是()A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分3.以下有4组用户标识符,其中合法的一组是()A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define4.设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10.25.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()A) a=a+b=b++ B)w%(int)a+b) C)(c+w)%(int)a D)w=a==b; 6.下列条件语句中,功能与其他语句不同的是A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);7.以下能正确定义二维数组的是A) int a[][3]; B) int a[][3]=2{2*3};C) int a[][3]={}; D) int a[2][3]={{1},{2},{3,4}}; 8.s1和s2已正确定义并分别指向两个字符串。
若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是A) if(s1>s2)S; B) if(strcmp(s1,s2))S;C) if(strcmp(s2,s1)>0)S; D) if(strcmp(s1,s2)>0)S;9.有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1)所代表的数组元素是A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2] 10.已有定义:int i,a[10],*p;,则合法的赋值语句是A) p=100; B) p=a[5]; C) p=a[2]+2; D) p=a+2; 11.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是A) c1^c2 B) c1&c2 C) ~c2 D) c1|c212.以下选项中非法的表达式是A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 13.设有如下程序段:int x=2002, y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002D)输出值为200314.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ …… }则以下叙述中正确的是()A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法 D) 以上说法都不对15.以下各选项企图说明一种新的类型名,其中正确的是()A) typedef v1 int; B) typedef v2=int;C) typedefv1 int v3; D) typedef v4: int;16.以下程序段( ).x=-1; do{x=x*x;} while(! x);A.是死循环B.循环执行二次C. 循环执行二次D.有语法错误17. 以下正确的描述是( ).A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句18. 在C语言中,引用数组元素时,其数组下标的数据类型允许是()A. 整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式19. 以下不能对二维整形数组a进行正确初始化的语句是()。
A.int a[2][3]={0};B. int a[][3]={{1,2},{0}};C. int a[2][3]={{1,2},{3,4},{5,6}};D. int a[][3]={1,2,3,4,5,6};20. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。
A.2B.3C.4D.无确定值二、填空题1. C程序的基本单位是。
2. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为。
3.C语言所提供的基本数据类型包括:。
4.以下程序的执行结果是。
#include<stdio.h>main(){float f=3.5;printf("%f,%g",f,f)}5. 以下程序的执行结果是。
#include<stdio.h>main(){int a,b,c;a=2;b=3;c=1;if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}6. 有int x,y,z; 且x=3,y=-4,z=5,则表达式(x&&y)= =(x︱︱z)的值为。
7. 执行下面程序段后,k值是 .k=1;n=263;do{k*=n%10; n/=10 } while(n);8. 若for循环用以下形式表示:for(表达式1;表达式2;表达式3)循环体语句则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式3执行次。
9. 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为:。
(假设a[0][0]位于数组的第一个位置上。
)10. 在C 语言中,一个函数一般由两个部分组成,它们是。
11. 设有以下宏定义:#define WIDTH 80#define LENGTH (WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int 型变量)后,k的值是。
12. 下面程序的运行结果是。
#define EXCH(a,b) {int t;t=a;a=b; b=t;}main(){int x=5,y=9;EXCH(x,y);printf(“x=%d,y=%d\n”,x,y);}13. 下面程序段的运行结果是。
char s1=”AbcdEf”,s2=”aB”;s1++;t=(strcmp(s1,s2)>0);printf(“%d\n”,t);14. 当运行以下程序时,从键盘输入book<CR> (<CR>表示回车,表示空格),则下面程序段运行的结果是。
char a1[80],a2[80],*s1=a1,*s2=a2;gets(s1);gets(s2);if(!strcmp(s1,s2)) printf(“*”) ;else printf(“#”);printf(“%d”,strlen(strcat(s1,s2)));三、编程题1.将一个字符串的内容颠倒过来。
2.编写程序,将字符串str中的所有字符’k’删除。
C语言程序设计试题A答案一、选择题1.D2.A3.C4.D5.C6.D7.C8.D9.C10.D11.A12.D13.A14.B15.C 16.C17.B 18.C 19.C 20.B二、填空题1.函数2. 93.单精度型、双精度型、整型、字符型和枚举型4.3.500000,3.55.end6.17.368.39.i*m+j+i10.函数说明部分和函数体11.240012.x=8,y=513.114.#9三、编程题1. 解:注意交换位置的控制方法,参考程序如下:#include <stdio.h>#include <string.h>void change(char str[]){ int len,i,j;char c;len=strlen(str);for (i=0,j=len-1;i<len/2;i++,j--){ c=str[i];str[i]=str[j];str[j]=c;}}main(){ char str[80];printf("Enter string:");gets(str);change(str);printf("\n result is: %s\n",str);}2. 解:将从字符串中删除所有字符’k’ 的功能定义为函数。
参考程序如下:#include <stdio.h>void delchar(char str[],char c){ int i,j;for (i=0,j=0;str[i]!='\0';i++)if (str[i]!=c)str[j++]=str[i];str[j]='\0';}main(){ char str[80];int i,j;gets(str);delchar(str,'k');puts(str);}。