教做奥数的网站,建设网站职业证书查询,宏发建设有限公司网站,株洲网站建设 英铭数据类型与作用域练习
1、选择题
1.1、以下选项中,不能作为合法常量的是 __________
A#xff09;1.234e04 B#xff09;1.234e0.4
C#xff09;1.234e4 D#xff09;1.234e0
1.2、以下定义变量并初始化错误的是_____________。 A) char c1 ‘H’ 1.234e04 B1.234e0.4
C1.234e4 D1.234e0
1.2、以下定义变量并初始化错误的是_____________。 A) char c1 ‘H’ B) char c1 99 C) char c1 ‘2’ D) char c1 09
1.3、以下定义变量及初始化错误的是__________。
A) int a3b B) int a b3 C) int a b, cd3 D) int a3 b3
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,则正确的输入是 ___D____
Am123n456p789
Bm123 n456 p789
Cm123,n456,p789
D123 456 789 1.6、以下程序的正确结果是________
#includestdio.h
void num()
{ extern int x,y; int a15,b10; xa-b;
yab;
}
int x, y;
int main()
{ int a7,b5;
xab;
ya-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 x1;
x*2;
return x;
}
int main( )
{
int i, s1;
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 i0,j0,k0; scanf(%d%*d%d,i,j,k); // %*d 表示跳过某个输入的内容使下一个输入的内容复制给紧接着的变量表示此数据不读入 printf(%d%d%d\n,i,j,k);
}
10020
2.2、以下程序运行的结果是___________。 main( ) { int a1, b2, c3; a; //aa1 cb; { int b4, c; cb*3; ac; printf(“first: %d,%d,%d\n”, a,b,c); ac; printf(“second: %d,%d,%d\n”, a,b,c);
}
printf(“third: %d,%d,%d\n”, a,b,c);
}
first: 14,4,12
second: 26,4,12
third: 26,3,6
3、编程题
3.1、 编写程序用getchar函数读入两个字符给变量c1、c2然后分别用putchar函数和printf函数输出这两个字符并思考一下以下问题
#include stdio.h int main() { char c1, c2; printf(请输入两个字符\n); c1 getchar(); getchar(); // 用于消耗输入中的换行符 c2 getchar(); getchar(); // 用于消耗输入中的换行符 printf(使用putchar函数输出字符\n); putchar(c1); putchar(c2); printf(\n使用printf函数输出字符\n); printf(%c%c\n, c1, c2); return 0;
} 1变量c1、c2应定义为字符型或整型还是二者皆可
都行整型以ASCII码的格式存入。
要求输出c1和c2值的ASCII码应如何处理用putchar函数还是printf函数
后者因为后者能定义输出格式
整型变量与字符型变量是否在任何情况下都可以互相替换
必须存在对应的ASCII码
4、分析题
4.1、使列举static关键字的几个作用
一、隐藏
在我们同时编译多个文件时所有未加static前缀的全局变量和函数都具有全局可见性也就是说其他文件可以看到写同名的函数如果加了static那么其他文件就不能同名函数或者变量对于函数来讲static的作用仅限隐藏
保持变量内容的长久
延长生命周期
Static修饰的变量会存储到静态数据区静态块会在程序刚开始是完成初始化也是唯一的一次初始化
静态存储区共有两种变量全局变量和static变量
三、默认初始化为0
全局变量也具有这个属性因为静态数据区中所有的字节默认值都是0x00