专插本计算机基础与程序设计真题
1. (5分)下列程序运行结果是多少?为什么?
```
#include<stdio.h>
void main()
{
    printf(%d,%d,%d\n,1,2,3,4,5);
}
```
答案:1,2,3。原因是printf函数中的格式控制字符串只有%d,因此依次输出1,2,3三个参数。
2. (5分)在32位机器上,short类型变量占几个字节?long类型变量占几个字节?指针变量占几个字节?
答案:short类型变量占2个字节,long类型变量占4个字节,指针变量占4个字节。
3. (5分)下列程序运行结果是多少?为什么?
```
#include<stdio.h>
void main()
{
    int i=0,j;
    while(i<=4)
    {
        j=i++;
        printf(%d,%d\n,j,i);
    }
}
```
答案:0,1 1,2 2,3 3,4 4,5。原因是在while循环内部,把i的值赋给j,同时i的值加1,然后输出j和i的值。
4. (5分)下列程序运行结果是多少?为什么?
```
#include<stdio.h>
void main()
{
    printf(%d\n ,1);
    printf(%+d\n ,-1);
    printf(%d\n,-1);
}
```
答案:1 -1 -1。第一个printf函数只输出一个正数1,第二个printf函数输出一个负数-1,并把符号位也输出了,第三个printf函数也输出一个负数-1,但符号位被省略了。
5. (5分)下列程序运行结果是多少?为什么?
```
#include<stdio.h>
void main()
{
    int a=1,b=2,c=3,d=4;
    printf(%d,%d,%d,%d\n,a,b,c++,d--);
    printf(%d,%d,%d,%d\n,a,b,c,d);
>函数printf