北京交通大学C语言程序设计期末考试题集

奥鹏期末考核

62080–C语言程序设计-北交期末考试复习题合集

单选题:
(1)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是______。
A.INPUT x、y、z;
B.scanf(“%d%d%d”,
C.scanf(“%d%d%d”,x,y,z);
D.read(“%d%d%d”,
答案问询微信:424329

(2)若w=1,x=2,y=3,z=4;,则条件表达式wx?w:yz?y:z的结果为______。( )
A.4
B.3
C.2
D.1
答案问询微信:424329

(3)在C程序中,若对函数类型未加说明,则函数的隐含类型为( )。
A.int
B.double
C.void
D.char
答案问询微信:424329

(4)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______。
A.float型
B.int型
C.long型
D.double型
答案问询微信:424329

(5)已知:char c='A';int i=1,j;,执行语句j=!c,则i和j的值是______。( )
A.1,1
B.1,0
C.2,1
D.2,0
答案问询微信:424329

(6)数组int**a[3][4]占据多大空间
A.64
B.12
C.48
D.128
答案问询微信:424329

(7)有以下程序,执行后输出得结果是_____。mian( ){ char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”, “cd” }; Printf(“%dn”,strlen(p[3]));}
A.2
B.3
C.4
D.5
答案问询微信:424329

(8)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。
A.1
B.2.0
C.2
D.2.5
答案问询微信:424329

(9)合法的数组定义是________。
A.int a[]="string";
B.int a[5]={0,1,2,3,4,5};
C.vhst s="string";
D.char a[]={0,1,2,3,4,5};
答案问询微信:424329

(10)已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A.0
B.6
C.-24
D.-60
答案问询微信:424329

(11)调用strlen("abcdefg")的返回值是______。
A.4
B.5
C.8
D.9
答案问询微信:424329

(12)以下程序段 x = -1; do { x=x*x;} while(!x); 正确的说法是______。
A.死循环
B.循环一次
C.循环两次
D.有语法错
答案问询微信:424329

(13)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值_______。
A.不定值
B.4
C.3
D.1
答案问询微信:424329

(14)不合法的八进制数是()
A.0
B.028
C.077
D.01
答案问询微信:424329

(15)C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的文件。
A.”.c”
B.“.obj”
C.“.exe”
D.“.bas”
答案问询微信:424329

(16)执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(xy) z=x; x=y; y=z;
A.10,20,30
B.20,30,30
C.20,30,10
D.20,30,20
答案问询微信:424329

(17)已知:int a,*p=,则下列函数调用中错误的是______。( )
A.scanf("%d",&a);
B.scanf("%d",p);
C.scanf("%d",*p);
D.printf("%d",a);
答案问询微信:424329

(18)已知:int x=4,y=5,z;,则执行z=x=xy;后,z的值为______。( )
A.0
B.1
C.4
D.5
答案问询微信:424329

(19)有以下语句,下面描述中正确的是_____。typedef struct S{ int g; char h;} T;
A.可用S定义结构体变量
B.可用T定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量
答案问询微信:424329

(20)以下可作为函数 fopen 中第一个参数的正确格式是______。
A.c:userfile.txt
B."c:userfile.txt"
C."c:\user\file.txt"
D.c:userfile.txt
答案问询微信:424329

(21)已定义c为字符型变量,则下列语句中正确的是______。
A.c=''97''
B.c="97";
C.c=97;
D.c="a";
答案问询微信:424329

(22)下面说法错误的是______。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C.变量必须限定以后使用
D.字符串的长度不等于它占的字节数
答案问询微信:424329

(23)C语言中最简单的数据类型包括()。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
答案问询微信:424329

(24)已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A.-3 4
B.-2 4
C.-3 3
D.-2 3
答案问询微信:424329

(25)在C语言中,while语句中的条件为()时,结束该循环。
A.0
B.1
C.true
D.非0
答案问询微信:424329

(26)已知:int i=6,j;,则执行语句j=(++i)+(i++)后的j值是______。( )
A.4
B.14
C.13
D.15
答案问询微信:424329

(27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
A.EOF
B.非0值
C.0
D.NULL
答案问询微信:424329

(28)C语言程序从main()函数开始执行,所以这个函数要写在____。
A.程序文件的开始
B.程序文件的最后
C.它所调用的函数的前面
D.程序文件的任何位置
答案问询微信:424329

(29)若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,()是正确的输入。
A.2030,40
B.20 30 40
C.20, 30 40
D.20, 30,40
答案问询微信:424329

(30)已知: int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为 3 的表达式是______。
A.(*p)++
B.*p++
C.*++p
D.++*p
答案问询微信:424329

(31)若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。
A.*p
B.a[10]
C.*a
D.a[p-a]
答案问询微信:424329

(32)二进制语言是属于面向_____的语言。
A.机器
B.过程
C.问题
D.对象
答案问询微信:424329

(33)有以下程序片段 int n=0,p; do { scanf(%d, n++; } while(p!=123453); 此处 do-while 循环的结束条件是()
A.p的值不等于12345并且n的值小于3
B.p的值等于12345并且n的值大于等于3
C.p的值不等于12345或且n的值小于3
D.p的值等于12345或且n的值大于等于3
答案问询微信:424329

(34)C语言是_______语言。
A.高级
B.中级
C.机器
D.汇编
答案问询微信:424329

(35)设n=3;则执行 ++n语句后,n的值为_____。( )
A.5
B.4
C.3
D.2
答案问询微信:424329

(36)若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A.a[4]
B.a[a[2]+1]
C.a[a[2]]
D.a[3]+1
答案问询微信:424329

(37)以下说法下确的是_____。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
答案问询微信:424329

(38)若有输入语句scanf( %d%d%d, 则不能使x值为5, y值为6, z值为7的输入是______。
A.5,6 ,7回车
B.5 6 7回车
C.5 6 回车 7回车
D.5回车,6回车,7回车
答案问询微信:424329

(39)下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %dn”,i,j);
A.3 3
B.4 4
C.3 4
D.4 3
答案问询微信:424329

(40)已知:double *p[6];,它的含义是( )。
A.p是指向double型变量的指针
B.p是double型数组
C.p是指针数组
D.p是数组指针
答案问询微信:424329

(41)假设定义:int x = 3, y = 3; 则复合赋值表达式x /= 1+y的值为( )。
A.6
B.0
C.0.75
D.以上都错
答案问询微信:424329

(42)以下说法中不正确的是( )。
A.在不同函数中可以使用相同名字的变量
B.形式参数是局部变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内的复合语句中定义的变量在本函数范围内有效
答案问询微信:424329

(43)已知int i=5;,执行语句i+=++i;后,i的值是( )。
A.10
B.11
C.12
D.A、B、C答案都不对
答案问询微信:424329

(44)若有如下变量定义,int x;float y;则下列表达式的值为1.5的是( )。
A.y=3/2.0
B.y=3/2
C.x=3/2
D.x=3/2.0
答案问询微信:424329

(45)调用strlen("abcdefg")的返回值是( )。
A.4
B.5
C.8
D.9
答案问询微信:424329

(46)C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( )的文件。
A.“.c”
B.“.obj”
C.“.exe”
D.“.bas”
答案问询微信:424329

(47)以下选项中不正确的整型常量是( )。
A.12L
B.-10
C.1,900
D.123U
答案问询微信:424329

(48)若变量已正确定义,( )不能使指针p成为空指针。
A.p=EOF
B.p=0
C.p=’’
D.p=NULL
答案问询微信:424329

(49)有以下程序段    int k=0    while(k=1)k++;    while 循环执行的次数是( )。
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
答案问询微信:424329

(50)以下程序的输出结果是( )。
A.0
B.29
C.31
D.无定值
答案问询微信:424329

(51)下列程序段的输出结果是( )。
A.2 1 4 3
B.1 2 1 2
C.1 2 3 4
D.2 1 1 2
答案问询微信:424329

(52)已知 int i,a; 执行语句“i=(a=2*3,a*5),a+6;”后,变量a的值是( )。
A.36
B.30
C.12
D.6
答案问询微信:424329

(53)以下叙述中错误的是( )。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
答案问询微信:424329

(54)已知:int x=1,y= -1;,则语句printf("%dn",(x–&++y)) ( )。
A.0
B.-1
C.1
D.2
答案问询微信:424329

(55)已知:int **p;,则变量p是( )。
A.指向int的指针
B.指向指针的指针
C.int型变量
D.以上三种说法均是错误的
答案问询微信:424329

(56)若变量已正确定义,语句“if(ab) k=0; else k=1;”和( )等价。
A.k=(ab)?1:0;
B.k=ab;
C.k=a=b;
D.a=b ? 0 : 1;
答案问询微信:424329

(57)在 C 程序中,用( )表示逻辑值“真”。
A.1
B.非 0 的数
C.非 1 的数
D.大于 0 的数
答案问询微信:424329

(58)( )把x、y定义成float类型变量,并赋同一初值3.14。
A.float x, y=3.14;
B.float x, y=2*3.14;
C.float x=3.14, y=x=3.14;
D.float x=y=3.14;
答案问询微信:424329

(59)若变量已正确定义并赋值,表达式( )不符合C语言语法。
A.a*b/c;
B.3.14%2
C.2, b a/b/c
答案问询微信:424329

(60)( )是不正确的字符常量。
A.'n'
B.'1'
C."a"
D.'101'
答案问询微信:424329

(61)当调用函数时,实参是一个数组名,则向函数传送的是( )。
A.数组的长度
B.数组的首地址
C.数组每一个元素的地址
D.数组每个元素中的值
答案问询微信:424329

(62)以下程序的输出结果是( )。
A.1
B.2
C.3
D.4
答案问询微信:424329

(63)有以下程序段  int k=0  while(k=1)k++;  while 循环执行的次数是( )。
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
答案问询微信:424329

(64)下面合法的C语言字符常量是( ).
A.'t'
B."A"
C.65
D.A
答案问询微信:424329

(65)C语言程序的基本单位是( ).
A.程序行
B.语句
C.函数
D.字符
答案问询微信:424329

(66)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )
A.a0
B.!a
C.a=0
D.a
答案问询微信:424329

(67)设有如下定义:
A.1
B.0
C.4
D.3
答案问询微信:424329

(68)为表示关系x≥y≥z,应使用C语言表达式( )
A.(x=y)=z)
B.(x=y)AND(y=z)
C.(x=y=z)
D.(x=y) =z)
答案问询微信:424329

(69)若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y));上面程序片段的输出结果是( ).
A.200
B.100
C.100 200
D.输出格式符不够,输出不确定的值
答案问询微信:424329

(70)阅读下面的程序
A.a
B.b
C.c
D.程序语法出错
答案问询微信:424329

(71)阅读下面的程序
A.1,19
B.-1,19
C.1,17
D.-1,17
答案问询微信:424329

(72)已知a=12,则表达式a+=a-=a*=a的结果是( ).
A.0
B.144
C.12
D.-264
答案问询微信:424329

(73)阅读下面的程序
A.i=123,j=4567
B.i=1234,j=567
C.i=1,j=2
D.i=123,j=45
答案问询微信:424329

(74)下面程序的输出结果是( ).
A.1,1,2
B.1,0,3
C.0,1,2
D.0,0,3
答案问询微信:424329

(75)若有以下定义和语句:
A.10,10,10
B.8,16,10
C.8,10,10
D.8,8,10
答案问询微信:424329

(76)表达式: 10!=9的值是( ).
A.true
B.非零值
C.0
D.1
答案问询微信:424329

(77)已知字母A的ASCII码为十进制的65,下面程序的输出是( ).
A.67,D
B.B,C
C.C,D
D.不确定的值
答案问询微信:424329

(78)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( ).
A.a0
B.!a
C.a=0
D.a
答案问询微信:424329

(79)设有如下定义:
A.1
B.0
C.4
D.3
答案问询微信:424329

(80)C语言中非空的基本数据类型包括( ).
A.整型,实型,逻辑型
B.整型,实型,字符型
C.整型,字符型,逻辑型
D.整型,实型,逻辑型,字符型
答案问询微信:424329

(81)阅读下面的程序
A.a
B.b
C.c
D.程序语法出错
答案问询微信:424329

(82)若已定义int a,则表达式a=10,a+10,a++的值是( ).
A.20
B.10
C.21
D.11
答案问询微信:424329

(83)阅读下面的程序
A.i=123,j=4567
B.i=1234,j=567
C.i=1,j=2
D.i=123,j=45
答案问询微信:424329

(84)在下列选项中,不正确的赋值语句是( )。
A.++t;
B.n1=(n2=(n3=0));
C.k=i=j;
D.a=b+c=1;
答案问询微信:424329

(85)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。
A.a0
B.!a
C.a=0
D.a
答案问询微信:424329

(86)以下程序的输出结果是( )。_includestdio.hvoid main(){ int x=10,y=10; printf("%d %dn",x–,–y);}
A.10 10
B.9 9
C.9 10
D.10 9
答案问询奥鹏期末考核微信:424329

(87)为表示关系x≥y≥z,应使用C语言表达式( )。
A.(x=y)=z)
B.(x=y)AND(y=z)
C.(x=y=z)
D.(x=y) =z)
答案问询微信:424329

(88)下面程序的输出结果是( )。_includestdio.hvoid main() { int a=-1, b=4, k; k=(++a=0)=0); printf("%d,%d,%dn",k,a,b);}
A.1,1,2
B.1,0,3
C.0,1,2
D.0,0,3
答案问询微信:424329

(89)下面程序的输出结果是( )。_includestdio.hvoid main(){ int a=5,b=3; float x=3.14, y=6.5; printf("%d,%dn",a+b!=a-b,x=(y-=6.1));}
A.1,0
B.0,1
C.1,1
D.0,0
答案问询微信:424329

(90)字符(char)型数据在微机内存中的存储形式是( )。
A.反码
B.补码
C.EBCDIC码
D.ASCII码
答案问询微信:424329

(91)C语言程序的基本单位是( )。
A.程序行
B.语句
C.函数
D.字符
答案问询微信:424329

(92)设 int a=12,则执行完语句a+=a-=a*a后,a的值是( )。
A.552
B.264
C.144
D.-264
答案问询微信:424329

(93)执行下面程序中的输出语句后,输出结果是( )。_includestdio.hvoid main(){int a; printf("%dn",(a=3*5,a*4,a+5));}
A.65
B.20
C.15
D.10
答案问询微信:424329

(94)若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值( )。
A.0
B.1
C.12
D.6
答案问询微信:424329

(95)下列程序执行后的输出结果是( )。 _include stdio.h { int a=5,b=60,c; if (ab) {c=a*b;printf("%d*%d=%dn",b,a,c);} else {c=b/a;printf("%d/%d=%dn",b,a,c);} }
A.60/5=12
B.300
C.60*5=300
D.12
答案问询微信:424329

(96)已知int i=10; 表达式"5=i=10"的值是() 。
A.0
B.1
C.10
D.没有正确答案
答案问询微信:424329

(97)以下程序的输出结果是()。_include "stdio.h"void main(){int a=-1,b=4,k;k=(++a)=0);printf("%d %d %dn",k,a,b);}
A.1 0 4
B.1 0 3
C.0 0 3
D.0 0 4
答案问询微信:424329

(98)以下叙述中正确的是()。
A.C语言中所有的循环语句都是先判断条件再执行循环体
B.break语句只能中断循环
C.continue 语句可以结束所有的循环
D.C语言中,任意表达式都可作为循环条件,只要能做出0和非0的判断即可
答案问询微信:424329

(99)有如下程序_include "stdio.h"void main(){int a=2,b=-1,c=2;if(ab)if(b0) c=0;elsec++;printf("%dn",c);}该程序的输出结果是()。int a=12, b=5, c=-3 ;if(ab) //满足if(b0) c=0; //不满足else c++ //执行 c=2printf(“%dn”,c);}输出 c的值为2
A.0
B.1
C.2
D.3
答案问询微信:424329

(100)若有定义int a=1,b=3,c=5,d=4,x;则执行以下程序段后x的值为()。if(ab)if(cd) x=1;else if(ac)if(bd)x=2;else x=3;else x=6;else x=7;
A.1
B.3
C.6
D.2
答案问询微信:424329

(101)设有以下定义:struct node{int data;struct node *next;}*p;则以下的语句中正确的是()。
A.p=malloc(sizeof(struct node))
B.p=(struct node *)malloc(sizeof(struct node))
C.*p=(struct node *)malloc(4)
D.p=(struct node )malloc(sizeof(struct node))
答案问询微信:424329

(102)下述程序的输出结果是( )。_include "stdio.h"void main(){int a[]={7,4,6,3,10};int m=10,k,*ptr=for(k=0;k5;k++)m=*(ptr+k)m?*(ptr+k):m;printf("%dn",m);}
A.10
B.4
C.6
D.3
答案问询微信:424329

(103)若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
A.x=y==5;
B.x=n%2.0
C.x+n=i;
D.x=5=4+1;
答案问询微信:424329

(104)执行下面程序段,B的值应为( )。int x=35;char z='A';int B;B=((x'a'));
A.0
B.1
C.2
D.3
答案问询微信:424329

(105)设a、b都是int型变量,且a、b初始值分别为5和10,则表达式a=a+b++,b+a,b+1的值为( )。
A.11
B.12
C.15
D.16
答案问询微信:424329

(106)C语言中运算对象必须是整形的运算符是( )。
A.%
B./
C.=
D.=
答案问询微信:424329

(107)运行以下的程序,输出结果为( )。_define M 3*2_define N M+2_define S(r) M*N*r/2_inlcude stdio.hvoid main(){int a=4;printf("%d",SA.);}
A.96
B.144
C.22
D.40
答案问询微信:424329

多选题:
(1)关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
答案问询微信:424329

(2)C语言中函数返回值的类型与下列哪项无关?
A.定义函数时所指定的函数类型
B.调用函数时临时
C.调用该函数的主函数类型
D.return语句中的表达式类型
答案问询微信:424329

(3)C语言程序中,下列___________标识符是合法。
A.scanf
B.if
C.float
D._3d
E.str_2
F.AB
G.5a
H.His.age
答案问询微信:424329

(4)以下不正确的叙述是______。
A.C语言的主函数是无参函数
B.C语言的主函数最多允许有1个参数
C.C语言的主函数最多允许有2个参数
D.C语言的主函数可以有2个以上参数
答案问询微信:424329

(5)下列_________数据类型属于C语言提供的基本数据类型。
A.数组类型
B.指针类型
C.整型
D.结构体类型
E.空类型
F.字符型
G.实型
H.共用体类型
答案问询微信:424329

(6)以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
答案问询微信:424329

(7)下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
答案问询微信:424329

(8)关于宏定义的说法正确的是:
A.p宏名一般习惯用大写字母表示,以便与变量名相区别/p
B.使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C.宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D.宏定义不是C语句,不必在行末加分号
答案问询微信:424329

(9)以下说法不正确的是______。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
答案问询微信:424329

(10)在C语言中,正确的int类型的常数是:______。
A.0
B.32768
C.037
D.0xaf
答案问询微信:424329

(11)下列关于_include命令的叙述中,正确的是______。
A.一个_include命令中只能指定一个被包含文件
B.一个_include命令中可以指定多个被包含文件
C.一个被包含文件中又可以包含另一个被包含文件
D._include命令中,文件名可以用双引号或尖括号括起来
答案问询微信:424329

(12)在动态存储区中主要存放以下数据______。
A.函数形式参数
B.自动变量
C.函数调用时的现场保护和返回地址
D.全局变量
答案问询微信:424329

(13)不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
答案问询微信:424329

(14)在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
答案问询微信:424329

(15)关于实参和形参的说法正确的是______。
A.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B.实参可以是变量、常量或表达式
C.实参与形参的类型应相同或赋值兼容
D.实参变量对形参变量的数据传递是“值传递”
答案问询微信:424329

(16)以下对C语言函数的有关描述中,错误的是:______。
A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.程序中有调用关系的所有函数必须放在同一个源程序文件中
答案问询微信:424329

(17)关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
答案问询微信:424329

(18)以下对一维数组a进行初始化,错误的语句是______。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={};
C.int a[10]={0};
D.int a[2]={10,9,8}
答案问询微信:424329

(19)以下正确的C语言标识符是_____。
A.ABC
B.abc
C.a_bc
D.ab.c
答案问询微信:424329

(20)函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
答案问询微信:424329

(21)已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A.int pb=&x;
B.int *pb=x;
C.int *pb=&x;
D.*pb=*x
答案问询微信:424329

(22)若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A.以上两处的*p含义相同,都说明给指针变量p赋值
B.语句“*p=r;”把变量r的地址值赋给指针变量p
C.语句“*p=r;”取变量r的值放回r中
D.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
答案问询微信:424329

(23)带参宏定义与函数的区别是:______。
A.函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B.函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C.宏不存在类型问题,宏名和参数都不存在类型问题
D.调用函数只能得到一个返回值,而使用宏可设法得到几个结果
答案问询微信:424329

(24)内存中供用户使用的存储空间可分为:______。
A.程序区
B.静态存储区
C.动态存储区
D.数据存储区
答案问询微信:424329

(25)下列字符中能构成标识符的是______。
A.数字字符
B.连接符
C.下划线字符
D.大写字母
答案问询微信:424329

(26)以下______是正确的转义字符。( )
A.‘\'
B.‘’
C.‘81'
D.‘'
答案问询微信:424329

(27)设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
A.ptr是指向一维数组的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案问询微信:424329

(28)已知:int x,a,b;下列选项中正确的if语句是______。
A.if(a=b) x++;
B.if(a=b) x++;
C.if(a-b) x++;
D.if(x) x++;
答案问询微信:424329

(29)下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
答案问询微信:424329

(30)不是 C 语言程序的基本单位是 ( )。
A.程序行
B.函数
C.语句
D.字符
答案问询微信:424329

(31)以下为不合法的十六进制数是 ( )。
A.0x2A
B.0x11Au
C.0X0
D.3A
答案问询微信:424329

(32)在 C 语言中,不合法的长整型常数是 ( )。
A.2.1869e10
B.0L2
C.4962710
D.0.054838743
答案问询微信:424329

(33)以下可以定义为用户标识符的有( ).
A.scanf
B.short
C._3com_
D.int
答案问询微信:424329

(34)以下叙述中正确的是( ).
A.一个 C 源程序可由一个或多个函数组成
B.一个 C 源程序必须包含一个 main() 函数
C.C 源程序的基本组成单位是函数
D.在 C 源程序中 , 注释说明只能位于一条语句的最后
答案问询微信:424329

(35)以下 4 个选项中 , 可以看作是一条语句的有( ).
A.{;}
B.a=0,b=0,c=0;
C.if(a0);
D.if(b==0) m=1;n=2;
答案问询微信:424329

(36)以下选项中不是 C语言合法整数的是( )。
A.10110
B.0386
C.0Xffa
D.x2a2
答案问询微信:424329

(37)设有以下定义int a=0;double b=1.25;char c='A';_define d 2则下面语句中正确的是( )。
A.a++;
B.b++;
C.c++;
D.d++;
答案问询微信:424329

(38)以下描述正确的是( )。
A.调用函数时, 实参可以是表达式
B.调用函数时, 实参与形参可以共用内存单元
C.调用函数时, 将为形参分配内存单元
D.调用函数时, 实参与形参的类型必须一致
答案问询微信:424329

(39)以下不符合C 语言语法的实型常量是( )。
A.1.2E0.5
B.3.14.159E
C..5E-3
D.E15
答案问询微信:424329

(40)变量已正确定义, 则不正确的赋值语句是( )。
A.x1=26.8%3
B.x=3*x+x
C.x3=0x12
D.x4=1+2=3;
答案问询微信:424329

(41)以下正确的if语句形式是( )。
A.if (xy
B.if (x==y) x+=y;
C.if (x!=y) scanf("%d",
D.if (xy) {x++;y++;}
答案问询微信:424329

(42)下列选项中是 C语言合法标志符的有( )。
A.good_morning
B.main
C.stdio.h
D.8abc
答案问询微信:424329

(43)在定义 int a[2][3]; 之后 , 对 a 的引用正确的有( )。
A.a[0][2]
B.a[1,3]
C.a[12][!1]
D.a[2][0]
答案问询微信:424329

(44)以下叙述正确的是( )。
A.预处理命令行都必须以 "_" 开始
B.在程序中凡是以"_" 开始的语句行都是预处理命令行
C.C 程序在执行过程中对预处理命令行进行处理
D._define ABCD是正确的宏定义
答案问询微信:424329

(45)以下描述正确的是( )。
A.使用 while和 do-while 循环时,循环变量初始话的操作应在循环体语句之前完成
B.while 循环是先判断表达式, 后执行循环语句
C.do-while和 for 循环均是先执行循环语句, 后判断表达式
D.for,while和do-while循环中的循环体均可以由空语句构成
答案问询微信:424329

(46)以下选项中 , 合法的字符常量是( )。
A.'t' ().
B.'17'
C."n"
D.'xaa'
答案问询微信:424329

(47)以下叙述正确的是 ().
A.C 语言严格区分大小写英文字母
B.C 语言用 ";" 作为语句分隔符
C.C 程序书写格式自由 , 一行内可以写几个语句 , 一个语句也可以写在几行上.
D.可以使用 /* */ 对C 程序中的任何部分作注释
答案问询微信:424329

(48)以下叙述正确的是().
A.预处理命令行都必须以"_" 开始
B.在程序中凡是以"_" 开始的语句行都是预处理命令行
C.C 程序在执行过程中对预处理命令行进行处理
D._define ABCD是正确的宏定义
答案问询微信:424329

(49)以下描述正确的是().
A.使用 while和 do-while循环时 , 循环变量初始话的操作应在循环体语句之前完成
B.while循环是先判断表达式, 后执行循环语句
C.do-while和 for循环均是先执行循环语句, 后判断表达式
D.for,while和 do-while循环中的循环体均可以由空语句构成
答案问询微信:424329

(50)下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是().
A.只能是 0 或 1
B.只能是 0 或非 0 正数
C.可以是整型或字符型数据
D.可以是任何类型的数据
答案问询微信:424329

(51)以下选项中不合法的字符常量是( ).
A."B"
B.'10'
C.68
D.D
答案问询微信:424329

(52)已定义 c 为字符型变量, 则下列语句中错误的是( ).
A.c='97';
B.c="97";
C.c=97;
D.c="a";
答案问询微信:424329

(53)以下选项中合法的表达式是( ).
A.0=x100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
答案问询微信:424329

判断题:
(1)变量的指针就是指向该变量指针变量的值。
答案问询微信:424329

(2)在程序运行过程中,其值不能被改变的量称为常量( )
答案问询微信:424329

(3)c语言中,每个函数都必须要有一个且只有一个main函数。
答案问询微信:424329

(4)switch语句中,多个case可以共用一组执行语句。( )
答案问询微信:424329

(5)自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
答案问询微信:424329

(6)字符型变量用来存放字符常量,可以存放多个字符。( )
答案问询微信:424329

(7)使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
答案问询微信:424329

(8)break是结束本次循环,而continue是结束所有的循环。
答案问询微信:424329

(9)getch()和getche()函数的功能相同。
答案问询微信:424329

(10)下列程序段的输出结果是hello main(){ char b[]="Hello,you";b[5]=0;printf("%s n", b ); }
答案问询微信:424329

(11)若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是4。
答案问询微信:424329

(12)使用printf和scanf函数时,必须添加_include stdio.h命令。( )
答案问询微信:424329

(13)C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
答案问询微信:424329

(14)表达式a=a+b可以写成a+=b。
答案问询微信:424329

(15)宏定义就是用宏名代替一个字符串,也就是简单的置换,不作对性检查。
答案问询微信:424329

(16)在C语言中,不区分字母的大小写。( )
答案问询微信:424329

(17)在使用C语言库函数时,要用预编译命令“_include”将有关的头文件包括到用户源文件中。( )
答案问询微信:424329

(18)在定义数组变量时,可以不指定数组的长度。
答案问询微信:424329

(19)free函数只能释放malloc()函数分配的存储空间。
答案问询微信:424329

(20)对于任何函数,它都有一个返回值。
答案问询微信:424329

(21)C语言中,函数的隐含存储类别是extern
答案问询微信:424329

(22)c程序是由c文件构成,而c文件是由函数构成。
答案问询微信:424329

(23)‘ a’和“a”在内存中所占字节数相同。( )
答案问询微信:424329

(24)假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
答案问询微信:424329

(25)数据结构指的是数据的组织形式,数组就是一种数据结构( )
答案问询微信:424329

(26)指向不同类型数组的两个指针能进行有意义的比较。
答案问询微信:424329

(27)在C语言中,变量不区分大小写。
答案问询微信:424329

(28)对于二维数组a[2][3],则a[1]表示是第二行的首地址。
答案问询微信:424329

(29)逻辑运算符的优先级比算术运算符高。
答案问询微信:424329

(30)模运算符要求两侧均应为整型数据。( )
答案问询微信:424329

(31)一个数组能够存储不同类型的数据。( )
答案问询微信:424329

(32)内存单元的地址与内存单元中的内容是两个相同的内容。( )
答案问询微信:424329

(33)‘ a’和“a”在内存中所占字节数相同。( )
答案问询微信:424329

(34)C程序的执行总是从第一个定义的函数开始。( )
答案问询微信:424329

(35)C程序中各函数之间既允许直接递归调用也允许间接递归调。( )
答案问询微信:424329

(36)C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断 一个量是否为“真”时,以0代表假,以非0代表真。( )
答案问询微信:424329

(37)在C语言中,定义结构体变量时可以省略关键字struct。( )
答案问询微信:424329

(38)对二维数组a[3][4],a+1与a[1]都是第一行的首址。( )
答案问询微信:424329

(39)宏名必须用大写字母表示。( )
答案问询微信:424329

(40)for(;;)语句相当于while(1)语句。( )
答案问询微信:424329

(41)puts和gets函数只能输入或输出一个字符串。( )
答案问询微信:424329

(42)switch语句中,多个case可以共用一组执行语句。( )
答案问询微信:424329

(43)函数的实参传递到形参有两种方式值传递和地址传递( )
答案问询微信:424329

(44)直接访问就是直接利用变量的地址进行存取直接访问( )
答案问询微信:424329

(45)C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。 ( )
答案问询微信:424329

(46)浮点型常量的指数表示中,e 是可以省略的。 ( )
答案问询微信:424329

(47)任何表达式语句都是表达式加分号组成的。 ( )
答案问询微信:424329

(48)在 switch 语句中,每一个的case 常量表达式的值可以相同。 ( )
答案问询微信:424329

(49)case语句后如没有break,顺序向下执行。( )
答案问询微信:424329

(50)do-while 循环至少要执行一次循环语句。( )
答案问询微信:424329

(51)函数形参的存储单元是动态分配的。( )
答案问询微信:424329

(52)int (*p)[4] 它表示 p 是一个指针数组,它包含4个指针变量元素。( )
答案问询微信:424329

(53)表达式语句和表达式没有什么区别。( )
答案问询微信:424329

(54)函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。( )
答案问询微信:424329

(55)函数的实参可以是常量,变量或表达式。( )
答案问询微信:424329

(56)如果指针变量 p 已指向数组中的一个元素,则 p+1 指向同一数组中的下一个元素。( )
答案问询微信:424329

(57)在 C 语言中,逗号既可以作为运算符,也可以作为分隔符。( )
答案问询微信:424329

(58)C 语言的书写格式不会影响程序的可读性。( )
答案问询微信:424329

(59)条件表达式不能取代一般if 的语句。( )
答案问询微信:424329

(60)C 语言允许用字符串的方式对数组作初始化赋值。( )
答案问询微信:424329

(61)文件指针用于指向文件,文件只有被打开后才有对应的文件指针。( )
答案问询微信:424329

(62)C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( )
答案问询微信:424329

(63)条件表达式不能取代一般 if 的语句。( )
答案问询微信:424329

(64)break 则是结束整个循环过程,不再判断执行循环的条件是否成立。( )
答案问询微信:424329

(65)如果函数定义出现在函数调用之前,可以不必加函数原型声明。( )
答案问询微信:424329

(66)C 语言的书写格式不会影响程序的可读性。()
答案问询微信:424329

(67)break则是结束整个循环过程,不再判断执行循环的条件是否成立。()
答案问询微信:424329

(68)C 语言允许用字符串的方式对数组作初始化赋值。
答案问询微信:424329

(69)如果函数定义出现在函数调用之前,可以不必加函数原型声明()
答案问询微信:424329

(70)变量的两个值:本身值和地址值都是可以改变的。()
答案问询微信:424329

(71)if(a=5)是允许的。()
答案问询微信:424329

(72)在对数组全部元素赋初值时,可以省略行数,但不能省略列数( )
答案问询微信:424329

(73)指向结构体变量的指针可以作函数参数,实现传址调用。( )
答案问询微信:424329

(74)输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。( )
答案问询微信:424329

(75)增 1 减 1 运算符的前缀运算和后缀运算的表达式值是相同的。( )
答案问询微信:424329

(76)在 C 语言中能逐个地使用下标变量,也能一次引用整个数组。( )
答案问询微信:424329

(77)结构体成员的类型必须是基本数据类型。( )
答案问询微信:424329

问答题:
(1)写出下列程序的输出结果。(10分)
答案问询微信:424329

(2)写出下列程序的运行结果。(10分)
答案问询微信:424329

(3)给定一个N行N列的矩阵,找出各行中的最大的数,再将这N个最大值中的最小的那个数作为函数值返回。
答案问询微信:424329

(4)写出下列程序的输出结果。(10分)
答案问询微信:424329

(5)写出下列程序的输出结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

程序设计题:
(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

编程题:
(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

(6)写出下列程序的运行结果。(10分)
答案问询微信:424329

论述题:
(1)编写程序完成以下功能:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
答案问询微信:424329

(2)编写程序完成以下功能:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
答案问询微信:424329

(3)编写程序完成以下功能:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
答案问询微信:424329

(4)编写程序完成以下功能:求1+2!+3!+…+20!的和
答案问询微信:424329

简答题:
(1)c 语言的主要用途是什么:
答案问询微信:424329

(2)字符数组与字符串是否相同?若不相同,有何区别?
答案问询微信:424329

(3)数组的分类?
答案问询微信:424329

(4)描述一下一维数组的不初始化、部分初始化、完全初始化的不同点
答案问询微信:424329


(4)描述一下一维数组的不初始化、部分初始化、完全初始化的不同点
答案问询微信:424329

(4)描述一下一维数组的不初始化、部分初始化、完全初始化的不同点
答案问询微信:424329

(4)描述一下一维数组的不初始化、部分初始化、完全初始化的不同点
答案问询微信:424329

(4)描述一下一维数组的不初始化、部分初始化、完全初始化的不同点
答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网