c语言基础作业

  1. 选择题

1.1、以下选项中,不能作为合法常量的是 __________
A)1.234e04 B)1.234e0.4
C)1.234e+4 D)1.234e0

1.2、以下定义变量并初始化错误的是_____________。

A) char c1 = 'H' ;

B) char c1 = 99 ;

C) char c1 = '2';

D) char c1 = 09 ;

1.3、以下定义变量及初始化错误的是__________。

A) int a=3,b;

B) int a, b=3;

C) int a, b, c=d=3;

D) int a=3, b=3;

1.4、设有如下程序:( )

#include "stdio.h"

int main()

{

int a, b;

a = 077;

b= a/5;

printf( "%d %d \n" , a , b);

}

A) 77, 15.2

B) 77, 15

C) 63, 12.2

D) 63, 12

1.5、有以下程序
main()
{ int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 _______
A)m=123n=456p=789
B)m=123 n=456 p=789
C)m=123,n=456,p=789
D)123 456 789

1.6、以下程序的正确结果是________

#include<stdio.h>

void num()

{

extern int x,y; int a=15,b=10;

x=a-b;

y=a+b;

}

int x, y;

int main()

{

int a=7,b=5;

x=a+b;

y=a-b;

num();

printf("%d,%d\n",x,y);

}

A) 12,2 B) 不确定 C) 5,25 D) 1,12

1.7 有以下程序

#include <stdio.h>

int fun( )

{

static int x=1;

x*=2;

return x;

}

int main( )

{

int i, s=1;

s*= fun();

s*=fun();

s*=fun();

printf("%d\n",s);

}

程序运行后的输出结果是

A)8 B)16 C)32 D)64

2、填空题

2.1、以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是
#include <stdio.h>
main()
{ int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k); // %*d 表示跳过某个输入的内容,使下一个输入的内容复制给紧接着的变量,表示此数据不读入
printf("%d%d%d\n",i,j,k);

}程序输入结果得 10,30,0

2.2、以下程序运行的结果是___________。

main( )

{

int a=1, b=2, c=3;

++a; //a=a+1

c+=++b;

{

int b=4, c;

c=b*3;

a+=c;

printf("first: %d,%d,%d\n", a,b,c);

a+=c;

printf("second: %d,%d,%d\n", a,b,c);

}

printf("third: %d,%d,%d\n", a,b,c);

}

first a=26 b=4 c=12

Second a=26 b=4 c=12

Third a=26 b=2 c=6

3、编程题

3.1、 编写程序,用getchar函数读入两个字符给变量c1、c2,然后分别用putchar函数和printf函数输出这两个字符,并思考一下以下问题

(1)变量c1、c2应定义为字符型或整型?还是二者皆可

应定义为字符型

  1. 要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?

printf()函数整型变量与字符

型变量是否在任何情况下都可以互相替换?

不能实现替换 对于int 来说它是占4个字节而char类型占1个字节

将一个字符型的变量赋值给一个整型变量的时候,如果你的int类型的值赋值超过了char的范围 ,会出现越界访问的现象所以是不能相互替换的

    1. 分析题

4.1、使列举static关键字的几个作用

Static

  • 隐藏

在我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,也就是说其他文件可以看到写同名的函数,如果加了static,那么其他文件就不能同名函数或者变量;(对于函数来讲,static的作用仅限隐藏)

  • 保持变量内容的长久

Static修饰的变量会存储到静态数据区,静态块会在程序刚开始是完成初始化,也是唯一的一次初始化;

静态存储区,共有两种变量,全局变量和static变量

  • 默认初始化为0

全局变量也具有这个属性,因为静态数据区中所有的字节默认值都是0x00

相关推荐
一只鱼^_3 分钟前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法
一只码代码的章鱼11 分钟前
Spring的 @Validate注解详细分析
前端·spring boot·算法
邹诗钰-电子信息工程14 分钟前
嵌入式自学第二十一天(5.14)
java·开发语言·算法
恋猫de小郭36 分钟前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总
android·开发语言·javascript·kotlin
小_楠_天_问1 小时前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
↣life♚1 小时前
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation & Promptable Segmentation
人工智能·深度学习·算法·sam·分割·交互式分割
zqh176736464691 小时前
2025年阿里云ACP人工智能高级工程师认证模拟试题(附答案解析)
人工智能·算法·阿里云·人工智能工程师·阿里云acp·阿里云认证·acp人工智能
秋山落叶万岭花开ღ1 小时前
C语言顺序表应用详解:从理论到实践
c语言
于壮士hoho1 小时前
Python | Dashboard制作
开发语言·python
2301_803554521 小时前
c++和c的不同
java·c语言·c++