下面是湖北专升本网整理的长江大学专升本“C语言程序设计”的模拟练习题,同学们先做题再对照参考答案检查哦!
单选题:
1. 一个C程序的执行是从( )。
(A)本程序的main函数开始
(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
(C)本程序的main函数开始,到本程序文件的最后一个函数结束
(D)本程序文件的第一个函数开始,到本程序main函数结束
2. 设有C语句:int x=3, y=4,z=5;,则下面表达式中值为0的是( )。
(A)x&&y (B)x<=y
(C) x||y+z&&y-z (D)!((x<y )&& !z||1))
3. 以下有关宏替换的叙述不正确的是( )。
(A)宏替换不占用运行时间 (B)宏名无类型
(C)宏替换只是字符串替换; (D)宏替换是在运行时进行的
4. 在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是( )。
(A)一个整型变量,代表要读入的数据总数
(B)一个文件指针,指向要读的文件
(C)一个指针,指向读入数据存放的首地址
(D)一个存储区,存放要读的数据项
5. 位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于( )。
(A)操作数乘以2 (B) 操作数除以2
(C) 操作数除以4 (D) 操作数乘以4
6. 下面程序运行后,变量m的值为( )。
#include<stdio.h>
void main()
{ int m, n, k;
m=(n=4)+(k=10-7);
printf(〞m=%d\\n”,m);
}
(A)4 (B) 3 (C) 7 (D)14
7. 下面程序运行结果(或出现的情况)是( )。
#include<stdio.h>
void main()
{ int x=3,y=0,z=0;
if (x=y+z)
printf(〞****〞);
else
printf(〞####\\n〞);
}
(A)有语法错误不能通过编译
(B)输出:****
(C)可以通过编译,但不能通过连接,因而不能运行
(D)输出:####
8. 已有定义int k=2; int *ptrl, *ptr2,且ptr1和ptr2 均已指向变量k,下面不能正确执行的赋值语句是( )。
(A)k =*ptr1+*ptr2; (B) ptr2 = k;
(C) ptr1=ptr2; (D) k = *ptr1*(*ptr2);
9. 若有已经建好的链表结构如下,指针平p、q分别指向图示节点(b节点为插入c节点前的链表末尾);
a b ∧ c
p q
不能实现将q所指节点插入到链表末尾的一组语句是( )。
(A)q->next = NULL; p=p->next; p->next=q;
(B)p=p->next;q->next=p->next; p->next=q;
(C)p= p->next;q->next=p; p->next=q;
(D)p= (*p).next; (*q).next = (*p).next; (*p).next = q;
10. 有定义int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为( )
(A)3 4 5 (B) 4 3 5 (C) 4 4 4 (D) 4 4 5
11. 下列程序的执行结果是( )。
#include<stdio.h>
union ss
{ short int i;
char c[2];
};
void main ()
{ union ss x ;
x.c[0]=10;
x.c[1]=1;
printf(〞%d〞,x.i);
}
(A)11 (B) 266 (C) 265 (D) 138
12. 若有C语言int i = 10;,则执行下面程序段后变量i 的值是( )。
switch (i)
{ case 9: i+=1;
case 10:
case 11: i-=1;
default: i+=1;
}
(A)10 (B) 11 (C) 12 (D) 9
13. 在下列选项中,不正确的赋值语句是( )。
(A)t/=5; (B) n1=(n2=(n3=0)); (C) k=i= = j; (D) a=b+c=1;
14. 下面C程序运行后变量x的值是( )。
#include<stdio.h>
void main()
{ int a,b,c,x;
a=b=c=0; x=35;
if(!a)
x--;
else if(b)
;
if (c)
x=3;
else
x=4;
printf (〞%d\\n〞,x);
}
(A)34 (B) 4 (C) 35 (D) 3
15. 设有以下宏定义:
#define N 3
#define Y(n) (N+1*n)
则执行语句: z=2 *(N*Y(5+1)); 后,z的值为( )。
(A)30 (B) 72 (C) 48 (D) 54
16. 在以下的四个运算符中,优先级最低的运算符是( )。
(A)<= (B) / (C) != (D) &&
17. 已知’E’的ASCII码是69,则执行下面C语句的结果是( )。
printf(〞%c〞,’D’-‘8’+’5’);
(A)66 (B) A (C) B (D) E
18. 设有以下语句:int a=3, b=6,c; c=a^b<<2; 执行后c的低8位二进制值是( )。
(A)00011011 (B)00010100 (C) 00011100 (D) 00011000
19. 在C语言中,以下叙述错误的是( )。
(A)函数被调用时,系统才为形参分配内存
(B)实参和对应形参的数据类型必须一致
(C)实参可以是变量、常量或表达式
(D)形参可以是变量、常量或表达式
20. 字符串常量〞ab c\\nt\\012\\xa1*2〞在内存中所占的存储空间节数是( )。
(A)11 (B)13 (C) 15 (D) 18
参考答案:
1A 2D 3D 4C 5A 6C 7D 8B 9C 10B
11B 12A 13D 14B 15D 16D 17B 18A 19D 20A