1、算法中,二分查找法<堆排序法<(顺序查找法、冒泡排序、快速排序法)。
2、在数据库的三级模式中,外模式(又称为用户模式和子模式),外模式可以有多个,而内模式和概念模式只能有一个。
3、学生选课成绩表的关系模式是SC(S#,C#,G)其中#S为学号,C#为课号,G为成绩,检索课号为2的成绩不及格的学生的学号()
4、用c语言编写的程序为源程序,它以ASCII代码存放在一个文本文件中。
5、c语言源程序经过编译之后生成后缀为.obj的目标程序。
6、不是每一条c语言语句都能欧被转换成二进制的机器指令,因为有些是不可以执行。
7、c程序经过编译,连接步骤之后才能形成一个执行的二进制机器指令文件。
8、e的x次方用的是exp(x)表示。
9、%首先是对整型的数据,百分号两边是必须是整型数据
10、double a=22,int i=0,k=18;
i=a%11是不对的,因为a是双精度型,不是整型,而i是整型,并且我们不能把高精度的转化为低精度的数据类型。
11、关于逻辑运算的两边我们规定只要是任何合法的表达式。
12、当程序的开头包含文件stdio.h时,可以给指针变量赋值NULL.
13、改变形参的值,不会改变对应实参的值。
14、函数可以返回地址值。
15、“二维数组可以省略行。因为二维数组存储的时候是“先行后列”,如果不指定列数,就不能知道一行放几个数据,只要知道了列数,排头就可以知道一共能放多少行,二维数组可以省略行。
16、a=8,a>>3是什么意思呢?(相当于是a除以8等于1)。
位运算
位运算的运算分量只能是**整型或字符型数据**,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。
&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。
其中,按位取反运算符是单目运算符,其余均为双目运算符。
位运算符的优先级从高到低,依次为~、&、^、|。
1、按位与运算符(&)
0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1。即同为 1 的位,结果为 1,否则结果为 0。
2、 (按位或运算符(|)
0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1,即只要有1个是1的位,结果为1,否则为0。
3、按位异或运算符(^)
0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0,即相应位的值相同的,结果为 0,不相同的结果为 1。
4、(4)按位取反运算符(~),取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0。例如, ~7的结果为0xfff8。
5、 (1)左移运算符(<<),如4 << 2,结果为16。
(2)右移运算符(>>)例如8>>3,结果为1(8的二进制数为1000,向右移动则为1)
17、在c语言中,预处理命令行都以#开头
18、预处理命令行可以出现在c语言源程序的起始位置。
19、#include<stdio.h>必不一定放在c程序的开头。
20、c语言的预处理能实现宏定义和条件编译功能。
21、在c语言中,只能够用于局部变量的储存类型的是(auto)和(register)
22、
#include<stdio.h>
main()
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++)
if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n", n);
程序运行后的输出结果是____B__。
A.0
B.3
C.7
D.8`
[解析]s[i]!=0代表‘\0’,‘\0’是一个字符,ascII 码 为0。
当遇到'\0'时,for循环终止,所以最后输出n值为3,而本身字符串当中的0是代表的是‘0’表示的话应该该是s[i]!='0'。
字符串是由数字、字母、下划线组成的一串字符。
23、字符串的输入方式:
逐个字符处理:
> #include<stdio.h>
> int main()
> {
> char ch[5];
> for (int i = 0; i < 5; i++)
> {
> scanf("%c", &ch[i]);
> }
> for (int i = 0; i < 5; i++)
> {
> printf("%c", ch[i]);
> }
>
> }
说明:字符串中有空格也可以正确的输入整串
整个字符串处理:
#include<stdio.h>
int main()
{
char ch[5];
scanf("%s", ch);
printf("%s", ch);//无需
return 0;
}
说明:以字符串为单位处理时,直接使用数组名,无需&
输入字符串时,遇到回车或空格,输入结束,并且自动在串后面加上结束标志'\0'
gets与puts的输入输出
#include <stdio.h>
#define STLEN 81
int main(void)
{
char words[STLEN];
puts("Enter a string, please.");
gets(words); // typical use
printf("Your string twice:\n");
printf("%s\n", words);
puts(words);
puts("Done.");
return 0;
}
24、
结果是1,2
25、
26、
static作为全局变量是保持上一次的值,而作为局部变量则是会动态变化。
int (*t)[N]的意思是,t是一个指向 在内存中连续存储的 N个int数据所组成的 块的指针。在函数调用的是时候传递了指针,所以可以通过指针改变二维数组中的数值.