线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.
(4)二者均可并发执行.
插入排序基本思想:(假定从大到小排序)依次从后面拿一个数和前面已经排好序的数进行比较,比较的过程是从已经排好序的数中最后一个数开始比较,如果比这个数,继续往前面比较,直到找到比它大的数,然后就放在它的后面,如果一直没有找到,肯定这个数已经比较到了第一个数,那就放到第一个数的前面。那么一般情况下,对于采用插入排序法去排序的一组数,可以先选 取第一个数做为已经排好序的一组数。然后把第二个放到正确位置。
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。
112.运算符优先级问题能正确表示a和b同时为正或同时为负的逻辑表达式是(D )。
sssA、(a>=0||b>=0)&&(a<0||b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0
以下关于运算符优先顺序的描述中正确的是(C)。
A、关系运算符<算术运算符<赋值运算符<逻辑与运算符
B、逻辑与运算符<关系运算符<算术运算符<赋值运算符
C、赋值运算符<逻辑与运算符<关系运算符<算术运算符
D、算术运算符<关系运算符<赋值运算符<逻辑与运算符
写一个函数将"tom is cat" 倒序打印出来,即 "cat is tom"
//a.ch
#define SPACE \' \'
#define ENDL \'\0\'
char* str = "Tom is cat"; // 字符串
char* p1 = str+strlen(str)-1;
char* p2 = p1; // 开始时,p1,p2都指向字符串结尾处
char t=0; // 临时变量,用来保存被临时替换为ENDL的字符
while(str!=p1--)
{
if(SPACE!=*p1){
for(p2=p1+1;SPACE!=*p1; p1--, t=*p2, *p2=ENDL);
// p1+1指向单词的第一个字母,p2指向单词的结尾,此时输出这个单词
printf("%s ",p1+1);
*p2=t;
p2=p1;
}
}
Output:
cat is Tom
----------------------------------------------------------------------
1)写一个递归函数将内存中的字符串翻转"abc"->"cba"
2)写一个函数将"tom is cat" 将内存中的字符串翻转,即 "cat is tomm"
#include <stdio.h>
#define SPACE \' \'
#define ENDL \'\0\'
char* s = "The quick brown fox jumps over the lazy dog";
void str_reverse(char* p1,char* p2){
if(p1==p2)return;
*p1 = (*p1)+(*p2);
*p2 = (*p1)-(*p2);
*p1 = (*p1)-(*p2);
if(p1==p2-1)return;
else str_reverse(++p1,--p2);
}
void str_word_reverse(char* str){
char *q1=str, *q2=str, *t;
while(*q1==SPACE)q1++;
if(*q1==ENDL)return; //!
else q2=q1+1;
while( (*q2!=SPACE) && (*q2!=ENDL) )q2++;
t=q2--;
str_reverse(q1,q2);
if(*t==ENDL)return;
else str_word_reverse(t);
}
int
main(int a ,char** b)
{
printf("%s\n",s);
str_reverse(s,s+strlen(s)-1);
printf("%s\n",s);
str_word_reverse(s);
printf("%s\n",s);
return 0;
}
Output:
The quick brown fox jumps over the lazy dog
god yzal eht revo spmuj xof nworb kciuq ehT
dog lazy the over jumps fox brown quick The